提问者:小点点

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


JaCoCo只是输出Jacococ. exec,它是Sonar的输入。在那个文件中,似乎只有信息:

- Class name
- Total Class Probes
- Executed Class Probes

但是,SonarQube不能仅仅依赖这些值,因为它需要告诉你哪些是未覆盖的确切行,所以Sonar正在对自己进行分析。那么它如何使用Jacoco报告呢?为什么需要它?


共1个答案

匿名用户

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

SonarQube本身不知道您实际执行了哪些测试以及它们如何覆盖您的代码。为了获得这些信息,它依赖于第三方测试覆盖率工具。在Java它依赖于JaCoCo收集和提供的数据,如您对类似问题的回答所述(JaCoCo在exec文件中收集执行信息,并在生成报告期间从class文件中获取行号和其他信息),或者SonarQube可以依赖“通用格式”的数据。