Sonarqube is not showing code coverage after running
我正在用行家运行声纳尔。
我已经使用以下方式安装了它。
使用
运行时,我遇到7个严重的错误,但88个测试的代码覆盖率为零
当我使用IntelliJ的工具运行它时,得到以下结果。 (不为零!)
这是我直接检查Jacoco结果的时候。 在
使用sonar-scanner
运行时的相同代码
这是我的Maven配置
我的

编辑1:
我已经在日志中找到了。
编辑2:
我已经编辑了
添加
1 2 3 | <properties> <sonar.host.url>http://localhost:9000/</sonar.host.url> </properties> |
编辑
添加了
添加了编辑的
以上述所有方式运行该应用程序,结果是相同的,即我可以看到Jacoco的结果,但无法在声纳中看到。
如果发现错误,声纳是否有可能拒绝进行代码覆盖?
我找到了解决方案-
我随附的Maven插件将Jacoco的destfile和datafile配置为
但默认情况下,声纳的读数为
参考:声纳代码覆盖率
我遇到了同样的问题,我会帮助您解决。 这里的第一件事是浏览您的pom文件。
1 2 3 4 5 6 7 | <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.8</java.version> <jacoco.version>0.8.5</jacoco.version> <sonar.jacoco.reportPath>target/jacoco-ut.exec</sonar.jacoco.reportPath> <sonar.jacoco.itReportPaths>target/jacoco-it.exec</sonar.jacoco.itReportPaths> </properties> |
在pom文件中,您使用了jacoco-ut.exec,您必须在您的计算机上使用以下属性
在Jenkins执行SonarQube扫描仪
1 2 3 4 | sonar.java.binaries=target/classes sonar.junit.reportsPath=target/surefire-reports sonar.surefire.reportsPath=target/surefire-reports sonar.jacoco.reportPath=target/jacoco-ut.exec |
请记住有关pom中的jacoco.exec和在Jenkins中执行SonarQube Scanner的属性名称
我已通过以下步骤解决了此问题:
1.首先,我将配置添加到我们的pom.xml中。
1 2 3 4 5 | <properties> <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin> <sonar.jacoco.reportPath>${project.basedir}/../target/jacoco.exec</sonar.jacoco.reportPath> <sonar.language>java</sonar.language> </properties> |
2.在sonarqube属性文件中添加了以下部分。
1 2 3 4 5 6 7 8 9 10 11 12 | sonar.projectName=${JOB_NAME} sonar.projectVersion=1.0.0 sonar.sources=src/main sonar.sourceEncoding=UTF-8 sonar.language=java sonar.tests=src/test sonar.junit.reportsPath=target/surefire-reports sonar.surefire.reportsPath=target/surefire-reports sonar.jacoco.reportPath=target/jacoco.exec sonar.binaries=target/classes sonar.java.coveragePlugin=jacoco sonar.verbose=true |