PHPUnit - 通过命令行测试运行器运行特定测试套件

问题描述:

是否可以通过命令行测试运行器指定从配置文件运行哪个测试套件?举例来说,如果我有以下XML配置:PHPUnit - 通过命令行测试运行器运行特定测试套件

<phpunit ...> 
    <testsuites> 
     <testsuite name="My Test Suite 1"> 
      <directory>./MyTestSuite1/</directory> 
     </testsuite> 
     <testsuite name="My Test Suite 2"> 
      <directory>./MyTestSuite2/</directory> 
     </testsuite> 
    </testsuites> 
    ... 
</phpunit> 

我可以把它只能运行“我的测试套件1”?

+1

我知道你可以从Testcase进行单独测试。不知道套房,但。试着做一些像`phpunit Suitename Path/To/AllSuites.php`或其他方式。另外,请检查`phpunit --help`和http://www.phpunit.de/manual/3.4/en/textui.h​​tml – Gordon 2010-12-02 08:25:03

  • 可以用@group标签类文档中指示组,然后使用--group
  • 只运行在该组的测试,你可以使用--filter匹配一个给定的,只有运行测试正则表达式

更新2013

如下@ havg的回答中提到,您现在可以使用phpunit --testsuite

+0

这个效果很好,如果测试套件不能单独运行,可能是最好的选择。谢谢! – 2010-12-02 16:42:13

您是否尝试过从命令行运行phpunit以添加路径作为参数?

因此,像

phpUnit ./MyTestSuite1/ 

+0

除非测试套件跨越多个不共享同一根目录的目录,否则这种方法可行。谢谢。 – 2010-12-02 16:40:12

我运行单个测试套件t的phpunit --testsuite "My Test Suite 1"

+8

--testsuite标志直到3.7才存在 – moranjk 2012-10-30 19:17:43