如何配置 SonarQube 让我们增加覆盖范围?

Posted

技术标签:

【中文标题】如何配置 SonarQube 让我们增加覆盖范围?【英文标题】:How to configure SonarQube to make us increase the coverage? 【发布时间】:2016-03-06 17:57:18 【问题描述】:

为了激励自己增加单元测试的代码覆盖率,我们为覆盖率定义了以下规则:

    整体代码覆盖率必须 > 80% 整体代码覆盖率不得少于上次 新代码的代码覆盖率必须 > 90%

为了满足规则 1 和 2,我使用以下条件配置了质量门:

“覆盖率-值-小于-80” “覆盖率 - 自上次分析以来的增量 - 小于 - 0”

对于规则 3,我认为满足以下条件:“新代码的覆盖率 - 值 - 小于 - 90”。但是不可能为这个条件选择一个值,只能选择一个增量。这里的 delta 是什么意思?新代码不应该有增量,因为它是新的。我必须如何配置条件才能满足规则 3?

【问题讨论】:

我将回答您最初的问题(“如何配置 sonarqube 以使我们增加覆盖范围?”),请在 Google 群组 (groups.google.com/forum/#!forum/sonarqube) 上提问似乎是一个错误. 【参考方案1】:

默认情况下,SonarQube 带有一个预定义的质量门,旨在完全实现您想要的:逐步提高您的代码覆盖率。

你可以看看这个"SonarQube way" quality gate on Nemo。

重要的行是屏幕截图中突出显示的行。这意味着:“从当前版本开始开发以来引入的代码必须至少覆盖 80%”。如果你承认你一直在重构和重写部分代码,那么最终你的代码将被覆盖至少 80%。

【讨论】:

以上是关于如何配置 SonarQube 让我们增加覆盖范围?的主要内容,如果未能解决你的问题,请参考以下文章

SonarQube代码覆盖率的增量分析

SonarQube 覆盖范围未显示

如何将未覆盖的文件视为具有SonarQube通用覆盖XML的0覆盖?

SonarQube 是不是总是需要外部代码覆盖工具来显示声纳服务器上的覆盖范围?

代码覆盖率的 SonarQube 增量分析

SonarQube 排除的覆盖来源因项目而异