无法在SonarQube中获得单元测试成功

时间:2016-06-09 01:36:13

标签: java unit-testing sbt sonarqube

我无法弄清楚如何获得单位测试成功"部分显示在我的SonarQube仪表板上。我试过设置每个声纳和声纳。我可以想到的但是它们不会出现。我正在使用" sbt-sonarrunner-plugin",版本1.0.4和Jacoco来计算覆盖率。任何帮助将不胜感激,因为我发现的一切都说sonar.junit.reportsPath属性的设置应该使它工作。作为参考,我也试过设置sonar.test属性,它也没有工作。

这就是单元测试小部件的样子。

enter image description here

以下是我的属性,项目名称和目录都已传入。

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"
)

2 个答案:

答案 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=