JaCoCo只是输出Jacococ. exec,它是Sonar的输入。在那个文件中,似乎只有信息:
- Class name
- Total Class Probes
- Executed Class Probes
但是,SonarQube不能仅仅依赖这些值,因为它需要告诉你哪些是未覆盖的确切行,所以Sonar正在对自己进行分析。那么它如何使用Jacoco报告呢?为什么需要它?
那么它如何使用Jacoco报告?为什么需要它?
SonarQube本身不知道您实际执行了哪些测试以及它们如何覆盖您的代码。为了获得这些信息,它依赖于第三方测试覆盖率工具。在Java它依赖于JaCoCo收集和提供的数据,如您对类似问题的回答所述(JaCoCo在exec
文件中收集执行信息,并在生成报告期间从class
文件中获取行号和其他信息),或者SonarQube可以依赖“通用格式”的数据。