繁体   English   中英

SonarQube + Jacoco覆盖率差异

[英]SonarQube + Jacoco Coverage Discrepancies

我已经使用Jacoco来分析我团队的Maven项目的代码覆盖率近三个月了。 随着我们添加越来越多的测试,并且一切运行良好,它一直在适当地进行分析和增加。

在过去的几天中,我们已经开始尝试对该项目进行SonarQube分析。 我们遇到的问题是,SonarQube中显示的覆盖范围与Jacoco为我们显示的覆盖范围完全不同。

我已经研究过此问题,并在线阅读了一些解决方案,可以在此处的URL上找到与我们所遇到的问题最相似的问题。 但这不能解决我们遇到的问题。

在我们正在处理的pom.xml文件中,我在properties文件夹中添加了以下几行:

<sonar.coverage.jacoco.xmlReportPaths>./codeCoverage/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
<sonar.language>java</sonar.language>
<sonar.java.source>8</sonar.java.source>
<sonar.java.libraries>target</sonar.java.libraries>

这些是我在网上找到的,告诉我们如何配置SonarProperties。

我没有收到任何错误,但是代码覆盖率有所不同。

例如,在Jacoco.html文件中,我们的分支覆盖率为9.44%但在SonarQube中,条件覆盖率为10.00%

Jacoco.html中的线路覆盖率为13.76% ,而SonarQube中的11.1%发生了相同的问题。

通过更深入地浏览SonarQube分析并逐包比较所分析的内容,我能够找出所使用的设置的问题。

SonarQube正在分析整个存储库,显示的默认覆盖率报告不仅反映了使用jacoco.xml而且还查看了其他类型的代码。

为了查看准确的代码覆盖率,我必须将SonarQube分析中的查找位置更改为专门包含Java代码的目录,从而在两个服务之间调整覆盖率。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM