Unit Test in Wordpress

时间:2019-05-06 作者:Ocriver

我在wordpress中使用了很多使用wordpress函数的类,我想对它们进行单元测试。我发现的问题是phpunit无法识别wordpress函数,测试也无法工作。

我试着在测试类中加入索引。php,wp加载。php,当包含它们时,phpunit不工作,通过“退出代码0”退出,而不做任何事情-错误显示在PhpStorm终端中。如果我在cmd中执行命令,cmd不会抛出任何信息,只是一个空行。

Php版本:7.3.3HPUnit版本:7.5.9Wordpress版本:4.9.1

错误的一个示例是测试构造函数中包含“add\\u action”的类,错误是:“调用未定义的函数add\\u action()”。我不知道做这个测试需要包含什么文件,或者正确测试这个类的方法是什么。

2 个回复
最合适的回答,由SO网友:MikeNGarrett 整理而成

看看PHPUnit的WordPress核心设置:https://make.wordpress.org/core/handbook/testing/automated-testing/phpunit/

使用这个过程而不是滚动自己的过程,可以让您利用WordPress特有的增强功能(和其他自定义功能)。

Codex:

什么时候phpunit 调用时,测试套件运行一个脚本,该脚本设置WordPress的默认安装,配置与GUI安装类似。在运行任何测试之前,请执行以下步骤:

WordPress是自举的(通过包括wp-settings.php). 这意味着所有测试都在整个WP引导之后运行(通过wp_loaded).

SO网友:Lucas Bustamante

我强烈推荐wp-browser 对于该任务。

https://github.com/lucatume/wp-browser

例如,我已经为整个网站编写了测试。使用wp浏览器组织插件和高级插件。它有单元、集成(与Core的PHPUnit设置相同)、验收(与Selenium服务器类似)和现成的功能服务器,所有这些都是为与WordPress配合使用而设计和构建的。

相关推荐

如何从全站模板文件中的函数.php中调用定制函数?

我在wp-content/themes/xxxx/modules/custom中有一个自定义php文件。php和我想从函数中调用函数。php。现在我所有的函数(相同的函数)都在不同的文件中,因为仍然无法解决这个问题。我想在函数中创建一个函数。php并从网站的任何地方调用此函数。此函数将从另一个php文件调用(Ajax不会调用此函数)。当我包括或需要任何文件时(不导入wp load、wp blog header、functions.php)我读了很多论坛,尝试了很多方法,比如1.define(\'WP_US