idearia / wp-tests
一个简单的类,用于在WordPress中运行PHPUnit测试。
2.0.1
2023-02-02 13:57 UTC
Requires
- coccoinomane/phpunit-log: ^1.0.3
Requires (Dev)
- coccoinomane/phpunit-log: ^1.0
- phpstan/extension-installer: ^1.1
- phpunit/phpunit: ^9.5
- szepeviktor/phpstan-wordpress: ^1.1
README
定义了类WordPressTestCase
,用于在WordPress安装中运行PHPUnit测试,支持日志记录和多站点。
用法
- 使用
composer require idearia/wp-tests --dev
进行安装。 - 通过扩展
Idearia\WpTests\WordPressTestCase
来创建测试用例。 - 运行测试时,WordPress将自动加载。
请查看示例文件夹。您将找到
- 示例测试,该测试创建、获取和删除WordPress帖子;
- 示例phpunit.xml文件,其中包含可用选项。
日志支持
- 要将消息记录到屏幕,请调用
self::print( $message )
。 - 要将消息记录到文件,请调用
self::log( $message )
。 - 文件将以测试类的名称命名,并放置在子文件夹tests/logs中。
- 除非您在测试用例中设置
protected static $deleteLogFile = false;
,否则每次运行时都会重置日志文件。 - 通过
logsPath
环境变量自定义日志文件夹。 - 有关进一步自定义,请参阅Loggable trait的文档。
多站点支持
默认情况下,测试将在主博客上运行。
要在不同的博客上运行测试,请将siteUrl
环境变量添加到您的phpunit.xml文件中
<php> <env name="siteUrl" value=""/> </php>
然后,您可以自由地设置siteUrl
,方法如下
- 在dotenv文件中。
- 当您运行phpunit时:
siteUrl=http://example.com/blog phpunit
。 - 在shell级别:
export siteUrl=http://example.com/blog
。 - 在您的测试用例设置中:
putenv( 'siteUrl=http://example.com/blog' );
。 - 在phpunit.xml中硬编码。
自定义WordPress路径
如果您的WordPress安装不是标准的,您可以通过设置wordPressPath
环境变量来指定自定义的WordPress路径。您可以使用相对路径和绝对路径。
在phpunit.xml中设置wordPressPath
<php> <env name="wordPressPath" value="/path/to/wordpress/"/> </php>