Intereting Posts
Копирование таксономических терминов с одной должности на другую программным путем Echo custom post meta из массива опций Пользовательские правила постоянных ссылок не соответствуют и не теряют запрос var в процессе Разделить название сайта и применить различные классы Скрыть заголовок страницы на страницах индекса и автора Пользовательский тип сообщения, не соблюдающий иерархию шаблонов Получение этого кода для работы в Multisite Добавить информацию о профиле в Feed Использование переменных в коротких кодах Случайное изменение URL-адреса веб-сайта Как разрешить авторизацию только определенным пользователям Объединение медиа-запросов с размерами изображений Как удалить только мета-значение пользователя (не ключ) из таблицы usermeta в wordpress? «Прикрепленные» сообщения для каждой категории (archive.php) Добавление настраиваемого атрибута в ссылку элемента меню с помощью фильтра

Любые идеи, как сделать модульный тест, читать тему 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, но это заставило бы активировать эту тему для всего модульного набора тестов, и это может быть или не быть ты желаешь.