2

我们正在努力使用 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) 其他可配置目录

4

2 回答 2

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>
于 2012-07-26T21:44:40.223 回答
0

IIRC,PHPUnit<whitelist>如果出现则使用,如果没有,则使用<blacklist>. 尝试<whitelist>完全删除。

于 2012-07-26T12:08:20.603 回答