获取将要使用PHPUNIT配置文件执行的测试列表

时间:2015-01-23 15:32:25

标签: php testing phpunit

我有这个简单的问题:

使用命令

phpunit -c|--configuration <file>

可以指定一个包含多个phpunit配置的文件,例如(但不限于):

 <testsuites>
        <testsuite name="unit">
            <directory>path/to/directory/one</directory>
             <directory>path/to/directory/two</directory>
        </testsuite>
  </testsuites>

将导致要执行的测试列表。

虽然我不完全了解phpunit的内部实现,但我想以某种方式回复这个'列表'。

问候。

3 个答案:

答案 0 :(得分:1)

您可以使用您的测试套件配置phpunit.xml并运行phpunit --configuration path/to/phpunit.xml --testsuite <name test suite>

  • 如果您在偶数文件夹中运行phpunit,则不需要phpunit.xml --configuration path/to/phpunit.xml并且您只能运行phpunit --testsuite <name test suite>;
  • 如果要运行所有测试,请运行phpunit而不使用--testsuite <name testsuite>;和
  • 如果您只想运行文件,可以在testsuite或 run phpunit path/to/Test.php

注意:phpunit找到带有sufix&#34; * Test.php&#34;的文件。

有关详细信息,请查看:https://phpunit.de/manual/current/en/organizing-tests.html

答案 1 :(得分:1)

回答我自己的问题:

如果查看PhpUnit的内部结构,解析器组件与命令调用的runner组件强烈耦合。

这种情况几乎不可能重用xml解析器,强制您复制粘贴代码块或重新实现解析逻辑。

长话短说明PhpUnit xml解析逻辑不可重复使用。

答案 2 :(得分:0)

通过将所有测试标记为通过父项的setUp跳过,可以按执行顺序获得所有测试的列表:

public function setUp()
{
    $this->markTestSkipped($this->toString());
}