SonarQube 8.2分析显示代码覆盖率为0。

问题描述 投票:0回答:1
  • SonarQube: 8.2.0.32929
  • 声纳扫描器。 3.0.3.778
  • jacoco: 0.8.4
  • jdk: 1.8
  • mvn: 3.6.3

你想达到什么目的

我想通过使用声纳扫描器来实现代码覆盖率,但在sonarqube仪表板上得到的代码覆盖率为0。

到目前为止,你尝试过什么方法来实现这个目标?

我在配置多模块java项目时,使用了 https:/github.comSonarSourcesonar-scanning-examplestreemastersonarqube-scanner-mavenmaven-multimodule。

并在基础目录下创建了sonar-project.properties文件,配置如下。

sonar.projectKey=org.sonarqube.sonarscanner-maven-aggregate
sonar.projectName=Sonar Scanner Maven Aggregate
sonar.projectVersion=1.0
sonar.language=java
sonar.java.binaries=.

如果我使用mvn sonar:sonar可以工作,但是用sonar-scanner就不行了。

用sonarqube 7.8可以正常工作。

如果有任何见解,我将感激不尽。

java sonarqube jacoco jacoco-maven-plugin sonarscanner
1个回答
0
投票

如果你的项目被设置为多模块,你必须将每个模块的覆盖率报告反馈给最后一个模块,该模块将作为构建的一部分运行(可能是集成测试模块)。

https:/community.sonarsource.comtcoverage-test-data-importing-jacoco-coverage-report-in-xml-format12151。

https:/community.sonarsource.comtin-sonarqub-8-2-code-coverage-is-always-showing-021666。

https:/docs.sonarqube.org最新分析发现。

https:/stackoverflow.coma15535970

按照Sonar团队在这个示例项目中提到的步骤,帮助了我https:/github.comSonarSourcesonar-scanning-examplestreemastersonarqube-scanner-mavenmaven-multimodule。

因为你已经按照这些步骤来做了,我缺少的是最后一个模块没有生成汇总报表,我是在之前的一个模块里做的,就是我们的集成测试模块。但是在我们的案例中还有一个部署模块


0
投票

我解决了这个问题。

当运行声纳扫描命令时,我添加了xmlReportPaths作为定义属性,如sonar-scanner -Dsonar.coverage.jacoco.xmlReportPaths=teststargetsitejacoco-aggregatejacoco.xml,...teststargetsitejacoco-aggregatejacoco.xml。

© www.soinside.com 2019 - 2024. All rights reserved.