0
我在PHPUnit 5.5.4和XDebug 2.4.1中使用PHP 5.6.24,我的代码覆盖率为0.83%。 但是,在PHPUnit 4.7.7和XDebug 2.3.3中使用PHP 5.6.0之前,代码覆盖率超过了84%。升级到PHPUnit 5.5.4后代码覆盖率报告不正确
我发现从PHP 5.5.x开始,你需要有一个配置了白名单的phpunit.xml。这对我来说是新的,所以我添加了以下文件:
<?xml version="1.0" encoding="UTF-8"?>
<phpunit>
<filter>
<whitelist processUncoveredFilesFromWhitelist="true">
<directory suffix=".php">./</directory>
<file></file>
</whitelist>
</filter>
<logging>
<log type="coverage-html" target="../results/report" lowUpperBound="35" highLowerBound="70"/>
</logging>
<testsuites>
<testsuite name="DTS">
<directory>./</directory>
</testsuite>
</testsuites>
</phpunit>
单元测试仍然有效。当我通过命令行运行它们时,我仍然可以看到所有测试都成功执行,但这只是代码覆盖率报告的结果。
感谢您的意见。我用你的文件作为基础(修改我的路径),但我仍然得到相同的结果。 (我也使用最新的稳定的PHPUnit 5.5.4,从未尝试过测试版) – Tornado
这太糟糕了,希望它是一些小东西......(对不起,我误解了你原来的帖子,看到PHP 5.6并认为它是PHPUnit 5.6,因此beta混淆)...我也运行PHP 5.6。我只能建议设置一些简单的测试用例,看看它是否运行,然后检查你的环境。祝你好运! – Katie
phpunit是否有关于文件夹/测试结构的任何特定要求?我很怀疑,因为它找到并执行所有测试用例? 什么是看到的是,我的所有3793测试成功执行,但只有13/822测试方法有代码覆盖率。 – Tornado