编程语言
首页 > 编程语言> > Clover PHPUnit覆盖率报告包括不需要的文件的覆盖范围

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

作者:互联网

我刚刚在我的Jenkins工作中设置了CloverPHP.

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

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

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

非常感谢,
NS

编辑

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

解决方法:

经过一些谷歌搜索我发现答案是为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

标签:php,jenkins,phpunit,code-coverage,clover
来源: https://codeday.me/bug/20190826/1729461.html