我正在使用sonarqube + jacoco进行代码覆盖,在下面的目录结构中有用于Java代码的junit测试用例。
src/main/java/code/abc.java
src/main/test/code/Testabc.java
我想要在声纳仪表板上进行代码覆盖,并且我正在使用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代码编写的测试用例。
答案 0 :(得分:0)
在我看来,Jacoco测试报告是在一个目录中生成的,但是SoanrQube被配置为可以查看另一个目录。这是您保存报告的目录:
reportsDir = file("${project.buildDir}/jacoco/customJacocoReportDir")
这是Sonar配置,用于查找Jacoco结果:
property "sonar.jacoco.reportPath", "${project.buildDir}/jacoco/test.exec"
缺少customJacocoReportDir
个目录