Clover和Jacoco提供不同的代码覆盖率结果

时间:2014-06-23 15:23:37

标签: java unit-testing code-coverage jacoco clover

我刚用Clover对我的项目进行了代码覆盖率分析,结果大约是60%。我用Jacoco对同一个项目进行了分析,结果大约是52%。 8%的差异是正常的吗?我过去也一直使用这些工具进行代码覆盖率分析,差异从未如此巨大。

1 个答案:

答案 0 :(得分:3)

请注意,Clover和JaCoCo正在使用不同的代码覆盖率指标:

  • Clover有方法,声明和分支覆盖(加上总覆盖率指标,它是所有三个的总和)
  • JaCoCo有方法,代码块,行,分支和指令覆盖

所以你不能简单地在这两个工具产生的结果之间加上等号。我建议并排检查报告以找出最高差异的位置,然后查看那里使用的代码结构,从而产生这种差异。

喔。顺便说说。请记住,JaCoCo使用字节代码检测,这意味着它还将检测由javac编译器创建的合成方法,这些方法在源代码中不可见。