如何配置SonarQube以增加覆盖范围?

时间:2015-12-02 13:12:53

标签: sonarqube

为了激励我们增加单元测试的代码覆盖率,我们已经为覆盖范围定义了这个规则:

  1. 整体代码覆盖率必须> 80%
  2. 整体代码覆盖率不得低于上次
  3. 新代码的代码覆盖率必须> 90%
  4. 为了满足规则1和2,我使用以下条件配置了质量门:

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

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

1 个答案:

答案 0 :(得分:1)

默认情况下,SonarQube附带一个预定义的质量门,旨在实现您想要的功能:逐步增加您的代码覆盖率。

您可以查看此"SonarQube way" quality gate on Nemo

Default "SonarQube way" quality gate

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