我已经对一个插件进行了单元测试,在我需要激活主题并检查主题是否为插件提供了正确的挂钩数据的部分之前,该插件工作得很好。
在我正在测试的插件中,我使用了apply\\u filters来实现主题函数中定义的add\\u filter挂钩。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);
}
问题是,主题似乎发挥了作用。测试期间不读取或执行php。我已手动检查主题是否已成功切换/启用以及所需的插件。但是$groups\\u definedfrom\\u主题的结果为NULL,这是不正确的。
如何正确执行此测试或如何使单元测试读取活动主题函数的任何提示。php及其过滤器?
谢谢你的帮助。