SonarQube没有拿起Cobertura代码覆盖率

use*_*582 7 sonar-runner sonarqube

我正在分析一个经过单元测试和Cobertura coverage.xml报告的Java项目.我正在使用SonarQube 4.1.1和最新的Sonar Runner.我已成功将Cobertura覆盖结果导入Sonar 3.2和Ant分析器,但是在这个新版本中我遇到了问题.在新的声纳分析执行中(通过Jenkins),我在日志中看不到它会启动任何Cobertura引擎或任何东西.我在Runner Jenkins项目中的设置:

sonar.dynamicAnalysis=reuseReports
sonar.java.coveragePlugin=cobertura
sonar.cobertura.reportPath=[mypath]/coverage.xml
sonar.junit.reportsPath=[mypath]/
Run Code Online (Sandbox Code Playgroud)

在分析输出中没有提到Cobertura(除了我自己的属性值)和SonarQube页面在覆盖率报告中显示" - ".单位测试结果显示正常.

我还添加了所有源,bin和测试目录.有任何想法吗?谢谢.

更新 我想知道在SonarQube页面上没有报告Cobertura报道的原因,是因为在Jenkins我的SonarQube项目克隆(克隆插件)来自之前的Project构建的工作区?如果coverage.xml文件包含静态路径,那么它可能会以某种方式出错.

use*_*582 3

好的,解决方案非常明显。SonarCube 4.1.1 没有预装 Cobertura,所以我安装了它,现在它可以工作了:) 也许它是在 3.2 版本中预装的,我不记得了。