我正在开发基于Yii框架的项目,我们有许多测试,我们以编程方式添加到测试套件中,所以我们没有使用phpunit.xml文件来配置测试。
问题是,如何从代码覆盖率报告中排除某些目录(例如Yii文件夹)。我发现的大多数解决方案都基于xml文件中的黑名单/白名单配置选项。
我还发现phpunit命令有--filter选项,但我找不到任何可以用来排除完整目录(或少数几个)的例子。
答案 0 :(得分:11)
--filter
用于过滤当前运行的phpunit中执行的测试。
您可以使用它,所以说"只执行--filter MyTestClass
或--filter testStuffThatBrokeAndIOnlyWantToRunThatOneSingleTest
但与代码覆盖无关。
--filter
与xml配置中的<filter>
无关,即使它们具有相同的名称:)
如果您在自己的source
文件夹中使用白名单,则应在大多数情况下执行此任务。
白名单文档:
http://phpunit.de/manual/current/en/phpunit-book.html#appendixes.configuration.blacklist-whitelist
<filter>
<whitelist addUncoveredFilesFromWhitelist="true">
<directory suffix=".php">src</directory>
</whitelist>
</filter>