[英]Laravel code coverage very slow
您可以使用phpunit.xml
一些配置过滤将包含在覆盖率报告中的phpunit.xml
。 例如,您不需要介绍框架或其他第三方依赖项。
您可以包括将要覆盖的文件(列入白名单),也可以将不想要的文件排除(列入黑名单)。
开始仅包含一些文件,以查看是否有所作为。
从PHPUnit文档复制:
<filter>
<whitelist processUncoveredFilesFromWhitelist="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.xml文件中,我倾向于使用完整的过滤器,以确保几乎只运行我的主要源代码(在类中),并收集了代码范围。 这是一个具有嵌入式资源的基于Symfony2的项目的资源。
<?xml version="1.0" encoding="UTF-8"?>
<phpunit
<filter>
<blacklist>
<directory>./vendor/</directory>
<!-- and other directories, -->
</blacklist>
<whitelist>
<directory>./app</directory>
<directory>./src</directory>
<exclude>
<directory>./app/cache/</directory>
<directory>./src/*/*Bundle/Resources</directory>
<directory>./src/*/*Bundle/Tests</directory>
<directory>./vendor/</directory>
</exclude>
</whitelist>
</filter>
在某种程度上,使用此设置针对125个src /文件和8800条非注释代码行,我花了大约40秒钟的时间来运行我的160个测试的子集-440个断言,并生成HTML输出。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.