Wordpress get_query_var,PHPUnit为空

时间:2015-06-26 15:10:25

标签: wordpress phpunit

我想测试我创建的自定义query_var。当我运行网站时,query_var是正确的。但是,当我使用PHPUnit进行测试时,似乎PHPUnit看不到query_var?

我所做的是以下内容:

public function test_correct_category_name() {

    $this->go_to('/category/cars');
    $category_name = get_query_var( 'category' );

    $this->assertEquals( $category_name, 'cars');
}

同样,这在打开网站并输出echo get_query_var( 'category' );时效果很好,然后显示cars;

你是怎么做到的?

1 个答案:

答案 0 :(得分:0)

我找到了线索的所在。看看这个StackOverflow帖子:https://wordpress.stackexchange.com/questions/71406/is-there-a-flowchart-for-wordpress-loading-sequence特别是带有动作序列的流程图。

我发现在测试中我必须使用set_query_var( 'category', 'cars' );设置query_var 所以我可以测试一下。

在我的Category类中,我在template_redirect初始化它,以便实例化$ wp_query。在$ wp_query中,query_vars是可访问的。现在,该类在调用时不会出错:get_query_var

哇,这花了我几天才弄明白......