2012-04-26 40 views
3

我刚刚将CloverPHP设置到了我的Jenkins作业中。三叶草PHPUnit覆盖范围报告包括不需要的文件的覆盖范围

我使用PHPUnit的生成三叶草报告,似乎都可以从该图是作为报告的部分文件

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

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

非常感谢, NS

编辑

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

回答

6

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

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

phpunit -c config.xml 

配置文件的详细信息可以在这里找到:

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

<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的标志调用