发布
社区首页 >问答首页 >SonarQube不接收Cobertura代码覆盖

SonarQube不接收Cobertura代码覆盖
EN

Stack Overflow用户
提问于 2014-02-16 14:18:57
回答 2查看 6K关注 0票数 7

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

代码语言:javascript
代码运行次数:0
复制
sonar.dynamicAnalysis=reuseReports
sonar.java.coveragePlugin=cobertura
sonar.cobertura.reportPath=[mypath]/coverage.xml
sonar.junit.reportsPath=[mypath]/

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

我还添加了所有源目录、bin目录和测试目录。有什么想法吗?谢谢。

更新我想知道为什么Cobertura覆盖没有在SonarQube页面上报告,是因为在Jenkins中,我的SonarQube项目克隆(克隆插件)是以前项目构建的工作区吗?如果coverage.xml文件包含静态路径,那么它可能出了问题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-21 08:24:23

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

票数 4
EN

Stack Overflow用户

发布于 2014-02-20 10:41:20

对于SonarQube中的任何“重用报告”特性(可能是用于代码覆盖、测试执行或生成中间报表的任何其他第三方工具),报告必须基于与用于SonarQube分析的源文件相同的源文件(就文件系统位置而言)。否则,SonarQube插件将无法将报表中的路径与分析源的路径相匹配。

因此,您猜对了:克隆工作区并在此克隆上运行SonarQube分析是无法计算覆盖率的原因。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21812371

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档