我正在使用phpunit连接jenkins,我想通过在XML文件中设置配置来跳过某些测试phpunit.xml
我知道我可以在命令行上使用:
phpunit --filter testStuffThatBrokeAndIOnlyWantToRunThatOneSingleTest
如何将其转换为XML文件,因为<filters>
标记仅用于代码覆盖?
我想在testStuffThatAlwaysBreaks
答案 0 :(得分:123)
跳过测试的最快最简单的方法是破坏或者您需要继续工作,只需将以下内容添加到单个单元测试的顶部:
$this->markTestSkipped('must be revisited.');
答案 1 :(得分:25)
如果你可以处理忽略整个文件,那么
<?xml version="1.0" encoding="UTF-8"?>
<phpunit>
<testsuites>
<testsuite name="foo">
<directory>./tests/</directory>
<exclude>./tests/path/to/excluded/test.php</exclude>
^-------------
</testsuite>
</testsuites>
</phpunit>
答案 2 :(得分:13)
有时根据定义为php代码的自定义条件跳过特定文件中的所有测试是有用的。您可以使用setUp函数轻松完成此操作,其中makeTestSkipped也可以使用。
protected function setUp()
{
if (Config::getInstance()->myConfigCondition == false) {
$this->markTestSkipped('all tests in this file are invactive for this server configuration!');
}
}
顺便说一句phpunit 5.2 stable official documentation表明你应该使用markTestSkipped作为实例方法,而不是静态方法。没有检查定义是否在此过程中发生了变化。