PHPUnit代码覆盖所有测试文件和另一个目录
我们正在努力使用phpunit从覆盖率报告中获得期望的结果 以前,我们只捕获与单元测试相关联的文件的代码覆盖率(我相信当白名单为空时,这是默认设置) 现在,我们希望有一个覆盖率报告,其中包括我们已经测试过的文件,以及一个或两个特定的目录(其中包含覆盖率为0%的文件)。这应该给我们提供更现实的统计数字 我们使用了一个xml配置文件来尝试并实现这一点:PHPUnit代码覆盖所有测试文件和另一个目录,php,xml,unit-testing,phpunit,code-coverage,Php,Xml,Unit Testing,Phpunit,Code Coverage,我们正在努力使用phpunit从覆盖率报告中获得期望的结果 以前,我们只捕获与单元测试相关联的文件的代码覆盖率(我相信当白名单为空时,这是默认设置) 现在,我们希望有一个覆盖率报告,其中包括我们已经测试过的文件,以及一个或两个特定的目录(其中包含覆盖率为0%的文件)。这应该给我们提供更现实的统计数字 我们使用了一个xml配置文件来尝试并实现这一点: <filter> <whitelist processUncoveredFilesFromWhitelist="true"
<filter>
<whitelist processUncoveredFilesFromWhitelist="true">
<directory suffix=".php">php/lib/</directory>
</whitelist>
<blacklist>
<directory suffix=".php">/usr/share/php/SymfonyComponents/YAML</directory>
</blacklist>
</filter>
php/lib/
/usr/share/php/SymfonyComponents/YAML
然而,这个配置现在只包括白名单中指定目录的覆盖率报告。它并没有捕获我们为其编写单元测试的其他文件的覆盖率
如何实现代码覆盖率配置,以捕获以下内容的覆盖率:
1) 已与单元测试关联的所有文件
2) 其他可配置目录IIRC,PHPUnit使用
如果出现,如果没有,则使用
。请尝试完全删除
。下面是一个示例,说明我们用于覆盖测试未覆盖的目录的内容。本节介绍应用程序。我们有不同的文件扩展名,所以目录后缀的例子也包括在内
<!-- Add files not covered with tests into Code Coverage Analysis -->
<filter>
<whitelist addUncoveredFilesFromWhitelist="true">
<directory suffix=".class">.</directory>
<directory suffix=".fn">.</directory>
<directory suffix=".php">lib/UTIL</directory>
<exclude>
<file>lib/UTIL/AJAX.class</file>
<file>lib/UTIL/GetDump.fn</file>
<directory>ExternalLibraries</directory>
</exclude>
</whitelist>
</filter>
.
.
lib/UTIL
lib/UTIL/AJAX.class
lib/UTIL/GetDump.fn
外部图书馆
删除白名单
将意味着我们将无法获得php/lib/
目录的任何覆盖率报告。有什么办法可以两全其美?