获取将使用PHPUNIT配置文件执行的测试列表
我有一个简单的问题: 用命令获取将使用PHPUNIT配置文件执行的测试列表,php,testing,phpunit,Php,Testing,Phpunit,我有一个简单的问题: 用命令 phpunit -c|--configuration <file> phpunit-c |——配置 可以指定包含多个phpunit配置的文件,例如(但不限于): 路径/到/目录/一 路径/to/directory/two 这将导致要执行的测试列表 虽然我不完全了解phpunit的内部实现,但我想以某种方式检索这个“列表”。您可以使用testsuite配置phpunit.xml,并运行phpunit--configuration path/to/p
phpunit -c|--configuration <file>
phpunit-c |——配置
可以指定包含多个phpunit配置的文件,例如(但不限于):
路径/到/目录/一
路径/to/directory/two
这将导致要执行的测试列表
虽然我不完全了解phpunit的内部实现,但我想以某种方式检索这个“列表”。您可以使用testsuite配置phpunit.xml,并运行
phpunit--configuration path/to/phpunit.xml--testsuite
- 如果在phpunit.xml
不是必需的,您可以只运行--配置的偶数文件夹中运行
path/to/phpunit.xmlphpunit
李>phpunit --测试套件
- 如果要运行所有测试,则运行phpunit,而不使用
;及--testsuite
- 如果您想只运行文件,您可以在testsuite或
运行phpunit path/to/Test.php
有关更多信息,请参阅:回答我自己的问题: 如果查看PhpUnit的内部结构,那么解析器组件与命令调用的运行程序组件是强耦合的 这种情况实际上不可能重用xml解析器,因为它迫使您要么复制粘贴代码块,要么重新实现解析逻辑
长话短说的PhpUnit xml解析逻辑是不可重用的。您可以通过父级设置将所有测试标记为已跳过,从而按执行顺序获取所有测试的列表:
公共功能设置()
{
$this->markTestSkipped($this->toString());
}
我添加了更多信息。由于PHPUnit 6.4,应该有一个参数——列出测试(请参阅)。还有其他有趣的论点(参见)。
<testsuites>
<testsuite name="unit">
<directory>path/to/directory/one</directory>
<directory>path/to/directory/two</directory>
</testsuite>
</testsuites>