带有 jacoco 插件的 SonarQube 覆盖百分比显示为零,但可以看到单元测试的数量
Posted
技术标签:
【中文标题】带有 jacoco 插件的 SonarQube 覆盖百分比显示为零,但可以看到单元测试的数量【英文标题】:SonarQube coverage percentage with jacoco plugin shows zero percentage but hte number of unit tests are seen 【发布时间】:2020-04-29 20:22:27 【问题描述】:我已经在 SonarQube 中配置了一个项目,并且使用 JaCoCo 插件运行分析以可视化单元测试覆盖率。
测试在 Jenkins 中成功运行,报告可以在 Jenkins 工作区中看到。
但是,声纳仪表板显示覆盖率为 0%,但在声纳仪表板上仍然可以看到单元测试的数量。 我尝试在命令行中使用以下属性。这些属性也在 SonarQube 配置中配置。
-Dsonar.junit.reportsPath=target/surefire-reports -Dsonar.coverage.jacoco.xmlReportPaths=target/site/jacoco/jacoco.xml
【问题讨论】:
Sonar 日志中是否有进一步的提示? 同样的问题! @Christopher :声纳日志中也没有更多错误 【参考方案1】:您是否配置了 jacoco prepare-agent?我遇到了同样的问题,发现我错过了这个配置。
有用的链接可能是https://docs.sonarqube.org/display/SONARQUBE45/JaCoCo+Plugin。
或者通过 pom.xml:
<build>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.0</version>
<configuration>
<append>true</append>
</configuration>
<executions>
<execution>
<id>prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
关于您的报告路径:
您使用哪个版本的 SonarQube?
sonar.junit.reportsPath
自 4.11 版起已弃用,并且
sonar.junit.reportPaths
应该改为使用。
你如何创建你的 xml 报告文件?
【讨论】:
是的...这是在我们的 pom 文件中配置的。 我们使用的是 soanre 6.7.1。是的,我们的配置中使用了 sonar.junit.reportPaths以上是关于带有 jacoco 插件的 SonarQube 覆盖百分比显示为零,但可以看到单元测试的数量的主要内容,如果未能解决你的问题,请参考以下文章
gradle、sonarqube 和 jacoco 插件的哪些版本兼容
SonarQube + JaCoCo + TeamCity 模块名称错误