我无法弄清楚如何获得单位测试成功"部分显示在我的SonarQube仪表板上。我试过设置每个声纳和声纳。我可以想到的但是它们不会出现。我正在使用" sbt-sonarrunner-plugin",版本1.0.4和Jacoco来计算覆盖率。任何帮助将不胜感激,因为我发现的一切都说sonar.junit.reportsPath属性的设置应该使它工作。作为参考,我也试过设置sonar.test属性,它也没有工作。
这就是单元测试小部件的样子。
以下是我的属性,项目名称和目录都已传入。
val commonSonarProperties = Map(
"sonar.projectName" -> s"$projectName",
"sonar.junit.reportsPath" -> s"$projectDir/target/test-reports",
s"$projectName.sonar.sources" -> s"$projectDir/src/main/java",
"sonar.java.binaries" -> s"$projectDir/target/classes",
"sonar.java.test" -> s"$projectDir/src/test/java",
"sonar.java.test.binaries" -> s"$projectDir/target/test-classes",
"sonar.java.coveragePlugin" -> "jacoco",
"sonar.jacoco.reportPath" -> s"$projectDir/target/jacoco/jacoco.exec",
"sonar.jacoco.itReportPath" -> s"$projectDir/target/it-jacoco/jacoco.exec"
)
答案 0 :(得分:3)
我弄清楚出了什么问题。我在日志中注意到,当我运行Sonar并将日志级别设置为debug时,我收到了以下消息。
- parsing <directory>/target/test-reports
- Reports path contains no files matching TEST-.*.xml : <directory>/target/test-reports
我已正确设置了我的“sonar.junit.reportsPath”,但Sonar希望我目录中的xml文件以“TEST-”开头。当我将xml文件重命名为以TEST开头时,结果显示在仪表板上。
答案 1 :(得分:0)
我遇到了类似的问题,詹金斯无法读取jacoco的.exec文件。检查sonar-project.properties后,我发现这两个字段为空:
sonar.junit.reportsPath=
sonar.jacoco.reportPath=