Intereting Posts
Добавление регулярного выражения в feedwordpress Расширенные пользовательские поля после пароля Индексы экземпляров виджетов начинаются с «2» в таблице «wp_options» add_rewrite_rule и передача переменных для пользовательских типов сообщений Показаны «лучшие сообщения» на первой странице хотите добавить параметр загрузки видео для внешнего пользователя Плагин WordPress для приятных поисков? Иметь несколько страниц с одинаковыми именами, но они получают разные пули Query Posts, order by meta value Путь к внешнему файлу JS Вызов PHP внутри разметки javascript Запросы по таксономии с текущим сроком Как вы управляете иерархиями больших меню в WP? Поверните короткий код в HTML-представление сразу после того, как пользователь наберет его в редакторе администратора Редактировать метаполя из шаблона Нужно ли хранить все шаблоны WP шаблонов по умолчанию в теме?

Любые идеи, как сделать модульный тест, читать тему functions.php?

Я выполнил модульное тестирование для плагина, который отлично работает до тех пор, пока раздел, где мне нужно активировать тему, и проверьте, снабжает ли тема правильными данными перехватчиков плагину.

Внутри плагина, который я тестирую, у меня есть apply_filters, которые будут реализовывать крючки add_filter, определенные внутри темы functions.php.

Это мой код модульного тестирования:

function test_theme_hooks() { //Define required plugins for testing $requiredplugins=array( '0' => 'myplugin1/plugin1.php','1' => 'myplugin2/plugin2.php'); //Activate plugins update_option('active_plugins',$requiredplugins); //Activate theme switch_theme('my_theme_to_test', 'my_theme_to_test'); //Get groups defined by the theme $Class_My_Plugin = new Class_My_Plugin; $groups_definedfrom_theme = $Class_My_Plugin->get_groups(); $correct_groups=array('0'=>'Some array'); $this->assertEqual($correct_groups,$groups_definedfrom_theme); } 

Проблема в том, что, по-видимому, тема functions.php не читается и не выполняется во время теста. Я вручную проверил, что тема была успешно включена / активирована, а также необходимые плагины. Но результат $ groups_definedfrom_theme равен NULL, что неверно.

Любые советы, как правильно выполнить этот тест или как сделать модульный тест, читать активную тему functions.php, а также фильтры?

Спасибо за любую помощь.

Solutions Collecting From Web of "Любые идеи, как сделать модульный тест, читать тему functions.php?"

Единственное, что switch_theme() , это установить в базе данных опцию, в которой говорится, какая тема активна. Таким образом, файлы темы не будут включены, используя это.

Вам нужно включить файлы самостоятельно, либо внутри тестовой функции, в функцию setUp() либо функцию setUpBeforeClass() вашего тестового класса. Или в верхней части файла вне класса.

Если вы хотите загрузить WordPress, вы также можете установить активную тему в файле $GLOBALS['wp_tests_options'] в файле bootstrap.php, но это заставило бы активировать эту тему для всего модульного набора тестов, и это может быть или не быть ты желаешь.