【问题标题】:sonarqube+jacoco+junit code coverage showing 0% in sonarqube dashboardsonarqube+jacoco+junit 代码覆盖率在 sonarqube 仪表板中显示为 0%
【发布时间】:2019-12-23 19:53:21
【问题描述】:

我正在使用 sonarqube + jacoco 进行代码覆盖,我的 java 代码在下面的 dir 结构中有 junit 测试用例。

src/main/java/code/abc.java
src/main/test/code/Testabc.java

我想要 sonarqube 仪表板上的代码覆盖率,并且我正在使用 gradle。

apply plugin: "java"
apply plugin: "org.sonarqube"
apply plugin: "jacoco"

jacoco {
toolVersion = "0.7.9"
reportsDir = file("${project.buildDir}/jacoco/customJacocoReportDir")
}

sonarqube {
    properties {
        property "sonar.sources", "."
        property "sonar.projectName", "javacode"
        property "sonar.projectKey", "javacode"
        property "sonar.java.coveragePlugin", "jacoco"
        property "sonar.java.binaries", "/data/tmp/env/"
        property "sonar.jacoco.reportPath", "${project.buildDir}/jacoco/test.exec"
    }
}

buildscript {

   repositories {
    maven {
      url "https://plugins.gradle.org/m2/"
    }
  }
  dependencies {
    classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.7"

  }
}

我正在运行gradle sonarqube

我不知道我在哪里做错了?如果有人可以帮助获得从 java 代码编写的测试用例的覆盖率。

【问题讨论】:

  • 您阅读过任何文档吗?请参阅 herehere。更新您的问题,添加版本信息和日志输出。

标签: java gradle sonarqube code-coverage jacoco


【解决方案1】:

在我看来,Jacoco 测试报告是在一个目录中生成的,但 SoanrQube 被配置为查看另一个目录。这是您保存报告的目录:

reportsDir = file("${project.buildDir}/jacoco/customJacocoReportDir")

这是查找 Jacoco 结果的声纳配置:

property "sonar.jacoco.reportPath", "${project.buildDir}/jacoco/test.exec"

customJacocoReportDir 目录丢失

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-01
    • 2020-07-28
    • 2018-11-13
    • 2020-08-07
    • 1970-01-01
    • 2017-05-31
    • 2020-08-13
    • 2016-04-08
    相关资源
    最近更新 更多