如何跳过PHPunittesting?

我正在使用phpunit与jenkins连接,并且我想通过在XML文件phpunit.xml设置configuration来跳过某些testing

我知道我可以在命令行上使用:

phpunit --filter testStuffThatBrokeAndIOnlyWantToRunThatOneSingleTest

我怎么把它翻译成XML文件,因为<filters>标签只用于代码覆盖?

我想运行除testStuffThatAlwaysBreaks之外的所有testing

跳过已经损坏的testing或者以后需要继续工作的最快最容易的方法是将以下内容添加到单个unit testing的顶部:

 $this->markTestSkipped('must be revisited.'); 

如果你可以处理忽略整个文件然后

 <?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> 

有时,根据定义为php代码的自定义条件跳过特定文件中的所有testing是有用的。 你可以使用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稳定的官方文档build议您应该使用markTestSkipped作为实例方法,而不是静态方法。 没有检查定义是否改变了。