让PHPUnit忽略了什么?

All*_*nde 6 php phpunit unit-testing

我有一个PHPUnit Test类,我想在测试运行中忽略它.我知道我可以通过重命名它来使它在文件名中不包含单词Test,但我宁愿不这样做,因为它比我想要的更多地混淆了源代码控制水域.

有没有人有建议?

Pas*_*TIN 15

phpunit命令有几个选项可以帮助定义应该和不应该运行哪些测试:

$ phpunit --help
PHPUnit 3.4.0beta5 by Sebastian Bergmann.

Usage: phpunit [switches] UnitTest [UnitTest.php]
       phpunit [switches] <directory>
...
  --filter <pattern>       Filter which tests to run.
  --group ...              Only runs tests from the specified group(s).
  --exclude-group ...      Exclude tests from the specified group(s).
  --list-groups            List available test groups.
...
Run Code Online (Sandbox Code Playgroud)

那些可能不会准确指出你想要的......但他们可能会有所帮助.

有关更多详细信息,请参阅命令行测试运行器


特别是,我有点像组功能:只需@group在测试的phpdoc中使用一个标签,重新组合它们(例如,每个"功能块"一组) ; 之后,您可以使用命令行上的--group--exclude-group选项来指定应该或不应该运行哪些测试.

在您的情况下,如果您无法修改测试,也许--filter选项可以提供帮助,具体取决于您的测试被命名的方式(即,是否有办法识别您想要运行的测试):

--filter
仅运行名称与给定模式匹配的测试.模式可以是单个测试的名称,也可以是与多个测试名称匹配的正则表达式.


另一种解决方案,如果您并不总是更改要运行的测试的"组",可能是使用仅包含您要运行的测试的测试套件.

例如,看看使用XML配置编写测试套件.


小智 6

只需重命名您的方法:

testFunctionality(){// blah}

ignore_ testFunctionality(){// blah}