Clover PHPUnit覆盖率报告包括不需要的文件的覆盖范围

时间:2012-04-26 17:05:07

标签: php phpunit jenkins code-coverage clover

我刚刚将CloverPHP设置为我的Jenkins工作。

我正在使用PHPUnit生成三叶草报告,它似乎与显示文件的覆盖率报告不同

/usr/share/php/SymfonyComponents/YAML/sfYamlInline.php 

作为报告的一部分。我不确定它的来源,我的猜测是PHPUnit或XDebug包含它。显然这不是我自己的代码库的一部分,所以我对它不感兴趣。它影响了我的项目产生的整体指标。 有没有办法从报告中排除这个文件?

非常感谢, 的 NS

修改

答案是使用phpunit xml配置文件,该文件可以包含过滤器黑名单。 我会在6个小时内正确回答我的问题(stackoverflow让我等了8个小时才回答我的问题!)

1 个答案:

答案 0 :(得分:6)

经过一些谷歌搜索后,我发现答案是为phpunit创建一个配置文件,您可以从代码覆盖率报告中排除特定文件或目录。

“< filter>元素及其子元素可用于为代码覆盖率报告配置黑名单和白名单。”

<filter>
  <blacklist>
    <directory suffix=".php">/path/to/files</directory>
    <file>/path/to/file</file>
    <exclude>
      <directory suffix=".php">/path/to/files</directory>
      <file>/path/to/file</file>
    </exclude>
      </blacklist>
  <whitelist addUncoveredFilesFromWhitelist="true">
    <directory suffix=".php">/path/to/files</directory>
    <file>/path/to/file</file>
    <exclude>
      <directory suffix=".php">/path/to/files</directory>
      <file>/path/to/file</file>
    </exclude>
  </whitelist>
</filter>

然后使用标志:

调用PHPUnit
phpunit -c config.xml

有关配置文件的更多信息,请访问:

http://www.phpunit.de/manual/current/en/appendixes.configuration.html