强制从 PHPUnit 代码覆盖中排除文件 [英] Force Exclude files from PHPUnit Code Coverage

查看:25
本文介绍了强制从 PHPUnit 代码覆盖中排除文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Is it possible to forcefully exclude a folder from PHPUnit's code coverage?

Problem I've got is, that I have a Symfony 1.4 project, which has folders at ./lib/vendor/symfony/*. I want to exclude anything that's inside ./lib/vendor/* - recursively.

Now, I want to exclude them whether they were covered implicitly by my tests or not, i.e. I never want to see these folders. So, I've added this bit to my phpunit.xml config file, but it doesn't seem to exclude these folders, no matter what I do:

<filter>
    <whitelist>
        <exclude>
            <directory>./lib/vendor/*</directory>
            <directory>./lib/vendor/symfony/lib/*</directory>
        </exclude>
    </whitelist>
</filter>

It appears to me the moment code gets hit and XDebug notices it, PHPUnit will include it in the code coverage no matter what. The downside for me with this is, that this code is already tested by Symfony developers, so no need to include it in my coverage report, messing up my numbers :P

解决方案

Ok, so I thought that you can have either the blacklist section OR the whitelist section, turns out you can have both, so I blacklisted those folders and it worked:

    <filter>
        <blacklist>
              <directory>./lib/vendor</directory>
              <directory>./lib/helper</directory>
        </blacklist>
    </filter>

这篇关于强制从 PHPUnit 代码覆盖中排除文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆