【问题标题】:SonarQube: Coverage on New Code never calculatedSonarQube:从未计算过新代码的覆盖率
【发布时间】:2017-01-07 08:05:51
【问题描述】:

我已经设置了 SonarQube、Maven 和 Cobertura,以便在每次构建运行时上传单元测试覆盖率。我想使用差异视图来覆盖增量(仅限新代码)。

覆盖范围本身已成功上传,我可以在代码行中看到增量。但是,我无法让“新代码的覆盖范围”起作用。

我为泄漏期尝试了不同的值,包括 previous_analysis 和 previous_version(在新分析中将版本从 1.0 更改为 1.1)。我还使用-Dsonar.projectDate 来模拟过去的分析日期,但仍然没有运气。

有什么想法吗?

【问题讨论】:

    标签: maven sonarqube cobertura sonarqube5.1 sonarqube-scan


    【解决方案1】:

    添加这个 sonar.java.binaries=classes 目录,很可能是 target/classes 帮助我解决了这个问题。 No JaCoCo analysis of project coverage can be done since there is no class files

    【讨论】:

    • 请考虑将链接中的相关信息添加到答案中提供的空间。
    【解决方案2】:

    “新代码覆盖率”仅在您使用/激活 SCM 支持(SVN、Git、...)时显示。

    sonar.scm.disabled=false

    【讨论】:

    • 这是什么?那是为了什么,为什么我们应该禁用它?
    【解决方案3】:

    获取 new_code 相关信息/指标的关键要求是利用SonarQube SCM integration。要从中受益,您必须安装适用于您的项目的兼容 SCM 插件(例如 Git Plugin、SVN Plugin 等)。

    【讨论】:

    • 这就是我的想法,但我想首先“手动”创建一个最小可行产品。所以你是说我不能通过从命令行手动上传来使用new_code?
    • 我不明白你的问题。我要说的是您应该安装Git Plugin(或者取决于您使用的SCM)并验证您的项目设置中是否启用了SCM集成。这是因为 New Code 是根据 SCM blame 信息检测到的。
    • 我安装了 Jazz RTC 插件,我在 SonarQube 中看到的结果是一样的 - 我可以看到新的代码行,但没有新的覆盖 :(
    • 有趣的是,它与 Git 一起工作。我会接受你的回答,并为爵士乐单独发送一个问题。谢谢@Nicolas
    • 我已将 sonar-scm-git-plugin-1.2.jar 添加到 sonarqube-6.2/extensions/plugins/,因为我使用 Git 进行 scm。然而,一切都没有改变。够了吗?
    猜你喜欢
    • 2017-01-09
    • 2017-01-03
    • 1970-01-01
    • 2019-08-04
    • 1970-01-01
    • 2018-01-11
    • 2019-06-30
    • 2016-04-08
    • 2021-06-04
    相关资源
    最近更新 更多