在Jenkins上构建时,我的JUnit testcoverage不会传播到声纳。声纳的“单元测试覆盖率”字段保持为空,“单元测试成功”字段显示正确的值。 我正在使用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
路径和蚂蚁任务是正确的。也许我错过了一些明显的东西? 提前感谢您的帮助。
Greetings Redmo
答案 0 :(得分:2)
由于您没有使用Ant触发Sonar分析但使用Sonar Runner,您可以从项目配置文件中删除'sonar.jacoco.antTargets'属性吗?
您是否确认在Sonar分析之前已在ePortalEjb / build_test / jacoco / jacoco.exec中生成并转储了JaCoCo报告?
您正在使用哪个版本的Sonar?
您能否以调试模式(-X)提供分析日志? 你可以在Jenkins之外运行相同的分析并确认你遇到同样的问题吗?
谢谢
David RACODON | SonarSource