【问题标题】:Cobertura 2.0.3 and Sonar not showing code coverageCobertura 2.0.3 和 Sonar 未显示代码覆盖率
【发布时间】:2014-06-10 20:18:55
【问题描述】:

我正在尝试让 Cobertura 代码覆盖率适用于多包项目。我必须从 2.5.2 更新到 2.6 才能与 JDK 1.7 一起正常工作,现在我能够运行和创建 cobertura 代码覆盖率报告。该项目的文件存储在存储库中,并且正在使用 Jenkins 构建。

我也可以通过 Jenkins 让 Cobertura 正确运行,并且可以通过 Jenkins 看到报告;但是我遇到了减速带,因为我希望它们显示在声纳中。

我的声纳是开箱即用的构建,并且是一个更旧的版本。然而,从研究来看,最新的 cobertura-sonar 插件 (1.6.1) 似乎不适用于 JDK 1.7,因此它不适用于 Cobertura 2.0.3。

所以我想知道是否可以让 Sonar 发布指标。有没有办法完全忽略 cobertura 插件,让声纳抓取报告?还是让声纳与詹金斯交谈以获取它们?

我已经看到了使它工作的信息,但是我不相信它们曾经是 Cobertura 2.0.3;我不想将声纳和 cobertura 插件更新到最新版本,只是因为它不起作用;考虑到更新声纳很可能会与其他指标混淆,我正在通过它。

声纳 - 3.2

Cobertura-maven-plugin - 2.6 --> cobertura 2.0.3

https://jira.codehaus.org/browse/SONARPLUGINS-3170 由于 Java 7 语法,声纳不支持 cobertura maven 2.6 的错误报告的链接

【问题讨论】:

  • “看起来好像最新的 cobertura-sonar 插件 (1.6.1) 不适用于 JDK 1.7” 这不是真的,您能提供该信息的来源吗?

标签: java jenkins sonarqube cobertura maven-cobertura-plugin


【解决方案1】:

为了将 cobertura 报告导入 SonarQube,您需要 cobertura-sonar 插件。 您可以参考此页面http://docs.codehaus.org/display/SONAR/Plugin+version+matrix 了解与您的平台版本配合使用的插件版本。

对于 1.6 之前的 cobertura 插件版本,您需要使用 sonar.dynamicAnalysis=reuseReports 并将覆盖工具设置为 cobertura :sonar.java.coveragePlugin=cobertura,如 in sonarqube coverage documentation 所述

但是,我真的建议您至少升级到平台的 LTS 版本。

【讨论】:

    猜你喜欢
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 2012-06-11
    • 1970-01-01
    • 2013-05-28
    • 2012-06-30
    • 1970-01-01
    相关资源
    最近更新 更多