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

SonarQube如何通过JaCoCo计算覆盖率?,sonarqube,jacoco,Sonarqube,Jacoco,JaCoCo只输出JaCoCo.exec,它是声纳的输入。在该文件中,似乎只有以下信息: - Class name - Total Class Probes - Executed Class Probes 但是,SonarQube不能仅仅依赖于这些值,因为它需要告诉您哪些是未被识别的精确线条,所以Sonar正在对自身进行分析。那么它是如何使用Jacoco报告的呢?为什么它需要它 那么它是如何使用Jacoco报告的呢?为什么它需要它 SonarQube本身并不/无法了解您实际执行了哪些测试以及它

JaCoCo只输出JaCoCo.exec,它是声纳的输入。在该文件中,似乎只有以下信息:

- Class name
- Total Class Probes
- Executed Class Probes
但是,SonarQube不能仅仅依赖于这些值,因为它需要告诉您哪些是未被识别的精确线条,所以Sonar正在对自身进行分析。那么它是如何使用Jacoco报告的呢?为什么它需要它

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

SonarQube本身并不/无法了解您实际执行了哪些测试以及它们如何覆盖您的代码。为了获得这些信息,它依赖于第三方测试覆盖工具。对于Java,它依赖于JaCoCo as收集和提供的数据(JaCoCo在
exec
文件中收集执行信息,并在生成报告期间从
文件中获取行号和其他信息),或者SonarQube可以依赖于中的数据

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


SonarQube本身并不/无法了解您实际执行了哪些测试以及它们如何覆盖您的代码。为了获得这些信息,它依赖于第三方测试覆盖工具。对于Java,它依赖于JaCoCo as收集和提供的数据(JaCoCo在
exec
文件中收集执行信息,并在生成报告期间从
class
文件中获取行号和其他信息),或者SonarQube可以依赖中的数据。

SonarQube正在使用源代码和覆盖率输出文件的组合。两者必须同步。另请参见,但如果要在方法/行级别自行分析源代码,为什么需要jacoco文件?SonarQube的可能副本是使用源代码和覆盖率输出文件的组合。两者必须同步。另请参阅,但如果它要在方法/行级别自行分析源代码,为什么需要jacoco文件?可能是Hi Godin的副本!谢谢你友好的回答。我想我理解了我误解的根源。在Eclipse中检查jacoco.exec文件(并将其作为二进制文件打开)看起来只包含类+探测计数的信息,而没有行级别的信息。但是这些信息必须存在,因为他们告诉我整个二进制文件是所有jacoco报告的来源。所以现在我看到所有的信息都在那里,Sonar完全可以依靠jacoco.exec来获得所有的覆盖信息。预计在不久的将来Sonar会使用jacoco报告而不是exec(我读了一些资料解释应该是这样的)?您已经可以将XML文件导入SonarQube,JaCoCo Ant Tasks或JaCoCo Maven插件生产的产品-请参阅导入
exec
文件将很快被弃用-嗨,Godin!谢谢你友好的回答。我想我理解了我误解的根源。在Eclipse中检查jacoco.exec文件(并将其作为二进制文件打开)看起来只包含类+探测计数的信息,而没有行级别的信息。但是这些信息必须存在,因为他们告诉我整个二进制文件是所有jacoco报告的来源。所以现在我看到所有的信息都在那里,Sonar完全可以依靠jacoco.exec来获得所有的覆盖信息。预计在不久的将来Sonar会使用jacoco报告而不是exec(我读了一些资料解释应该是这样的)?您已经可以将XML文件导入SonarQube,JacoCoAnt任务或JacoCoMaven插件生产的是什么?请参阅导入
exec
文件很快就会被弃用-