我刚刚使用 Clover 对我的项目进行了代码覆盖率分析,结果约为 60%。我和 Jacoco 对同一个项目进行了分析,结果约为 52%。 8%的差异正常吗?我过去也一直使用这些工具运行代码覆盖率分析,差异从未如此巨大。
最佳答案
请注意,Clover 和 JaCoCo 使用不同的代码覆盖率指标:
- Clover 具有方法、语句和分支覆盖率(加上总覆盖率指标,即三者之和)
- JaCoCo 具有方法、代码块、行、分支和指令覆盖
因此,您不能简单地在这两个工具生成的结果之间加上等号。我建议并排检查报告,找出最大差异的地方,然后查看那里使用的代码结构,从而导致这种差异。
哦。顺便一提。请记住,JaCoCo 使用字节码检测,这意味着它还将检测 javac 编译器创建的合成方法,这些方法在源代码中不可见。
关于java - Clover 和 Jacoco 给出不同的代码覆盖率结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24369631/