【发布时间】:2018-03-05 16:17:47
【问题描述】:
我正在尝试使用 Sonar 和 Jenkins 获得代码覆盖率。我看到 Jenkins 的 Sonar 插件成功执行 JUnit 测试用例并成功完成构建。但是 Sonar 没有在项目中显示代码覆盖率结果(总是显示 0.0% 作为代码覆盖率)。但 Sonar 确实显示“单元测试成功”。
我正在将 Maven 与 Jenkins 和 Sonar 一起使用。
执行 Sonar 插件时,我在 Jenkins 日志中收到以下消息:
项目覆盖率设置为 0%,因为没有转储 JaCoCo 执行数据:.../sonar/target/jacoco.exec谁能帮助我如何在任何 Sonar 项目中获得正确的代码覆盖率。
【问题讨论】:
-
您是否阅读了docs.codehaus.org/display/SONAR/… 并尝试了相关的项目示例?如果是这样,您能否提供更详细的信息:日志文件,在您的 pom 文件中配置 SonarQube,您如何运行 SonarQube:mvn clean install / mvn sonar:sonar? SonarQube 等的版本?
-
我阅读了 docs.codehaus.org/display/SONAR/… 并使用 cobertura 作为我的代码覆盖率插件,然后我看到了小型项目的代码覆盖率显示。当我在声纳中检查大型项目时,我只看到代码覆盖率 - 这意味着它的 empty.in 日志我可以在 .../coverage.xml 路径中找到未找到的 Cobertura 报告。会是什么原因。 cobertura 插件检测在显示上述消息之前运行良好。
-
coverage.xml 由于 OutOfMemeryError:heapspace 未生成。由于我的项目是如此之大,当我将堆内存设置为 2GB 并将 cobertura 插件内存设置为 1.5GB 时,声纳会显示代码覆盖率。