SonarQube如何通过JaCoCo计算覆盖率?

时间:2019-03-13 19:02:22

标签: sonarqube jacoco

JaCoCo仅输出jacococ.exec,这是Sonar的输入。在该文件中,似乎只有信息:

- Class name
- Total Class Probes
- Executed Class Probes

但是,SonarQube不能仅仅依靠这些值,因为它需要告诉您哪些是未收敛的确切行,因此Sonar对其自身进行了分析。那么它如何使用Jacoco报告?为什么需要它?

1 个答案:

答案 0 :(得分:1)

  

那么它如何使用Jacoco报告?为什么需要它?

仅凭SonarQube本身不知道您实际上执行了哪些测试以及它们如何覆盖您的代码。要获取此信息,它依赖于第三方测试覆盖率工具。对于Java,它依赖于JaCoCo以explained in answer on similar question from you的形式收集和提供的数据(JaCoCo在生成报告的过程中收集exec文件中的执行信息,并从class文件中获取行号和其他信息。 ),或SonarQube可以依赖"generic format"中的数据。