我几天来一直在研究这个问题,虽然很多人问这个问题我从来没有找到一个清晰简洁的答案。
我正在跑步:
长话短说,我将基本的wordPress核心下载到我电脑上的一个目录中。我已经成功下载并安装了pear和phpunit。我通过在简单的php文件上编写基本测试来测试phpunit。我的问题是当我在wordpress网站上运行phpunit时(我没有更改核心WP文件)。
我收到错误:
“PHP致命错误:在非成员上调用成员函数main() /中的对象第779行的root_directory> /functions.php“。
此错误对应于此代码段:
function wp( $query_vars = '' ) {
global $wp, $wp_query, $wp_the_query;
$wp->main( $query_vars ); // Line 779
if ( !isset($wp_the_query) )
$wp_the_query = $wp_query;
}
经过一段激烈的网络爬行后,我发现很多人在这条线路上都有错误,所以我知道有一些常规的东西,比如环境设置或我们的设置过程给了我们所有这个错误。
我阅读并尝试的一些解决方案对我不起作用:
我已经做了5年的网络开发人员,但我之前从未使用过WordPress给我的客户。一旦我能够得到这个设置,单元测试将很容易;但我不知道是什么导致了这个问题。任何指南/教程的链接或明确的解释将不胜感激。谢谢你的时间。
答案 0 :(得分:1)
有一个WordPress测试套件,您的问题表明您可能错过了:
http://make.wordpress.org/core/handbook/automated-testing/
请记住,在突出显示的情况下,WP的设计方式不是它或与之相关的任何东西可以或应该被测试。多年来,操作方法一直是提交代码而根本没有测试。多年来,虽然进展缓慢,但它确实在改善。
相关问题:
What are the best practices of custom application Wordpress development?