代码覆盖 – 来自某些特定目录的phpunit三叶草,而不是完整的三叶草.可能吗?

前端之家收集整理的这篇文章主要介绍了代码覆盖 – 来自某些特定目录的phpunit三叶草,而不是完整的三叶草.可能吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我为什么需要这个?我在symfony项目上运行测试(并使用Zend fw),PHPunit为所有受影响的文件生成三叶草.但我不希望看到symfony和Zend libs(以及所有其他第三方)的报道.我希望只看到我的代码的报道.
或者可能这应该做三叶草查看器?我正在使用hudson的clover插件,但它不支持查看特定来源.三叶草插件显示,我的代码只覆盖了20%,这是不正确的,因为它也考虑了symfony和Zend库.

顺便说一下,可能还有另外一种方法可以解决这个问题吗?

您需要为PHPunit创建配置文件,在该配置文件中,您可以从代码覆盖中排除特定文件或目录.

示例文件如下所示:

<PHPunit stopOnFailure="false">
    <testsuite name="Name">
    </testsuite>

<filter>
    <whitelist>
            <directory suffix=".PHP">../PHP</directory>
            <exclude>
                    <file>../PHP/somefile.PHP</file>
                    <directory suffix=".PHP">../PHP/pdf</directory>
            </exclude>
    </whitelist>
</filter>

<logging>


        <log type="coverage-html" target="target-dir/coverage" charset="UTF-8" yui="true" highlight="true"/>
        <log type="coverage-clover" target="target-dir/build/logs/clover.xml"/>
</logging>

</PHPunit>

使用上面的文件,除了文件../PHP/somefile.PHP和所有带扩展名的文件外,代码覆盖率中包含了../PHP下的所有内容(这是从测试所在的目录和执行PHPrun的相对位置).目录中的PHP ../PHP/pdf

将此文件命名为PHPunit.xml,将其放入运行测试的同一目录中.他们,如果你运行PHPunit,它会选择conf.

如果您不能使用此特定文件名,则可以从命令行指定名称

PHPunit --configuration yourconf.xml

有关PHPunit配置文件的更多详细信息,请访问:http://phpunit.de/manual/3.7/en/appendixes.configuration.html

猜你在找的PHP相关文章