合并phpunit codecoverage(coverage-html)结果

时间:2019-07-10 21:52:26

标签: php code-coverage

我分别运行测试:

phpunit --log-junit result.xml Class1Test.php --coverage-php coverage.php --coverage-html, /codecoverage/ --whitelist Class1.php
phpunit --log-junit result.xml Class2Test.php --coverage-php coverage.php --coverage-html, /codecoverage/ --whitelist Class2.php
phpunit --log-junit result.xml Class3Test.php --coverage-php coverage.php --coverage-html, /codecoverage/ --whitelist Class3.php

问题在于,覆盖范围(.html和.php)始终覆盖最后一个。有没有机会合并/附加到最后一个?

1 个答案:

答案 0 :(得分:1)

当前,PHPUnit不允许这样做,正如您在创建coverage文件的报告类中所看到的那样。例如:https://github.com/sebastianbergmann/php-code-coverage/blob/master/src/Report/Clover.php

而且,FAIK,PHPUnit无法提供一种生成自定义覆盖率报告以自行编写代码的方法。

我刚刚在phpunit bugtracker上打开了一个错误:https://github.com/sebastianbergmann/phpunit/issues/4041

维护者可能会感兴趣

编辑: 塞巴斯蒂安·伯格曼(Sebastian Bergman)将其视为“超出范围”,因此似乎还有两种选择可以实现您的目标:

  • 运行两次phpunit运行并编写一些代码,以便随后合并结果覆盖率
  • 使用其他测试框架(例如Codeception)