如何将代码覆盖率报告映射到diff文件?

时间:2012-07-23 09:32:58

标签: phpunit code-coverage

我有从PhpUnit运行的代码覆盖率,我可以在Git中生成一个diff文件,它将向我展示即将发布的内容。

我如何将一个映射到另一个,以便我可以说我们即将发布的代码会被我们的测试覆盖?

理想情况下,这可以作为Jenkins中的构建步骤自动运行。

1 个答案:

答案 0 :(得分:0)

在你的Ant / maven构建运行phpunit测试之前,运行一个phpscript。在这个PHP脚本中,将git文件中指定的每个文件与匹配的单元测试一起复制到临时目录中。当然,这需要您使用proper naming conventions and structure for unit tests。在临时目录上运行phpunit

-application
  -app
  -tests
-temp
  -app
  -tests

在构建文件中运行phpunit时包含三叶草报告

phpunit --coverage-clover="clover.xml" temp/tests 

在Jenkins中,如果clover.xml不符合指定的%coverage,则可以将构建标记为不稳定。

clover target in jenkins

这应该有效。让我知道它是如何运作的。