3
  • SonarQube: 8.2.0.32929
  • 声纳扫描仪: 3.0.3.778
  • 雅可可: 0.8.4
  • 京东:1.8
  • MVN: 3.6.3

你想达到什么目的

我正在尝试通过使用 sonar-scanner 来实现代码覆盖率,但我在 sonarqube 仪表板中得到代码覆盖率 0。

到目前为止,您为实现这一目标做了什么尝试

我使用https://github.com/SonarSource/sonar-scanning-examples/tree/master/sonarqube-scanner-maven/maven-multimodule配置了多模块 java 项目

并使用以下配置在基本目录中创建了 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 它可以工作。但使用声纳扫描仪它不起作用。

它适用于 sonarqube 7.8。

任何见解将不胜感激。

4

2 回答 2

1

我解决了这个问题。

在运行 sonar-scanner 命令时,我将 xmlReportPaths 添加为定义属性,例如 sonar-scanner -Dsonar.coverage.jacoco.xmlReportPaths=tests/target/site/jacoco-aggregate/jacoco.xml,../tests/target/site /jacoco-聚合/jacoco.xml

于 2020-04-30T13:30:16.987 回答
0

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

https://community.sonarsource.com/t/coverage-test-data-importing-jacoco-coverage-report-in-xml-format/12151

https://community.sonarsource.com/t/in-sonarqube-8-2-code-coverage-is-always-showing-0/21666

https://docs.sonarqube.org/latest/analysis/coverage/

https://stackoverflow.com/a/15535970

按照 Sonar 团队在此示例项目中提到的步骤帮助我 https://github.com/SonarSource/sonar-scanning-examples/tree/master/sonarqube-scanner-maven/maven-multimodule

由于您已经按照这些步骤进行操作,因此我缺少的一件事是未在最后一个模块中生成汇总报告,而我是在我们的集成测试模块之前的一个模块中进行的。但是在我们的案例中还有一个部署模块

于 2020-04-24T05:17:49.877 回答