我们正在努力使用phpunit从覆盖率报告中获得所需的结果。
以前,我们仅捕获与其关联的单元测试的文件的代码覆盖率(我相信这是白名单为空时的默认设置)。
现在我们想要一份报道报告,其中包括我们已经测试过的文件,以及一个或两个特定目录(其中包含0%覆盖率的文件)。这应该给我们更真实的统计数据。
我们使用xml配置文件来尝试完成此任务:
<filter>
<whitelist processUncoveredFilesFromWhitelist="true">
<directory suffix=".php">php/lib/</directory>
</whitelist>
<blacklist>
<directory suffix=".php">/usr/share/php/SymfonyComponents/YAML</directory>
</blacklist>
</filter>
但是,此配置现在仅包含白名单中该指定目录的覆盖率报告。它没有捕获我们为其编写单元测试的其他文件的覆盖范围。
如何实现捕获以下内容的代码覆盖率配置:
1)已经有与之关联的单元测试的所有文件
2)其他可配置目录
答案 0 :(得分:1)
以下是我们用于涵盖测试未涵盖的目录的示例。该部分涵盖了该应用程序。我们有不同的文件扩展名,因此您也可以使用目录后缀示例。
<!-- 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>
答案 1 :(得分:0)
IIRC,PHPUnit使用<whitelist>
如果有,则使用<blacklist>
。请尝试删除<whitelist>
。