1

在 jenkins 上构建时,我的 JUnit 测试覆盖不会传播到声纳。声纳上的“单元测试覆盖率”字段保持空白,但“单元测试成功”字段显示正确的值。我正在使用 jacoco 进行测试覆盖。在 jenkins 上,jacoco 的报告运行良好,并在生成的 html 中显示了正确的覆盖率。我只是无法将其用于声纳。

使用 jenkins 的 jacoco 插件,我使用以下参数调用独立的声纳分析。

# required metadata
sonar.projectKey=ePortal:Ejb
sonar.projectName=ePortal
sonar.projectVersion=1.0

# path to source directories (required)
sonar.sources=ePortalEjb/ejbModule

# path to test source directories (optional)
sonar.tests=ePortalEjb/src/test
sonar.core.codeCoveragePlugin=jacoco
sonar.surefire.reportsPath=ePortalEjb/junit
sonar.forceAnalysis=true
sonar.jacoco.reportPath=ePortalEjb/build_test/jacoco/jacoco.exec
sonar.dynamicAnalysis=reuseReports
sonar.jacoco.antTargets=test

路径和蚂蚁任务是正确的。也许我错过了一些明显的东西?提前感谢您的帮助。

问候雷德莫

4

1 回答 1

2

由于您不是使用 Ant 而是使用 Sonar Runner 触发声纳分析,您能否从项目配置文件中删除“sonar.jacoco.antTargets”属性?

您是否确认 JaCoCo 报告已在声纳分析之前生成并转储到 ePortalEjb/build_test/jacoco/jacoco.exec?

您正在运行哪个版本的声纳?

您能否提供调试模式(-X)下的分析日志?您能否在 Jenkins 之外运行相同的分析并确认您遇到了相同的问题?

谢谢

大卫·拉科顿 | 声纳源

于 2013-05-20T07:59:21.320 回答