当eCobertura和EclEmma测量时,为什么代码覆盖率会有所不同?

时间:2012-10-16 09:28:04

标签: java code-coverage cobertura eclemma

使用eCobertura和EclEmma时。我发现相同项目的代码覆盖率在每种情况下都不同。 有兴趣知道为什么吗?

Emma stat EclEmma stat

eCobertura stat

eCobertura stat

2 个答案:

答案 0 :(得分:2)

一个因素可能是EclEmma does not measure coverage correctly for exception handling code - 也就是它可能告诉你代码没有被覆盖,实际上它已被执行(例如,如果你单步使用调试器,代码确实被执行)。这是底层JaCoCo库的限制。不知道eCobertura是否也有同样的问题。

答案 1 :(得分:0)

在您附加的屏幕截图中,您配置EclEmma以显示“指令计数器”,但eCobertura会显示行和分支计数器。您can configure EclEmma向您展示'分支计数器'和'行计数器'。