首页/开发/CI/CD 与发布速查/增量代码覆盖率(New Code)
质量门禁与回滚51 条

增量代码覆盖率(New Code)

只对本次变更新增或修改的代码统计覆盖率并设门槛,让历史包袱不再压制新提交的要求;SonarQube 的 New Code 与 diff-cover 都支持该思路。

CI/CD 与发布速查开发更新于 2026-10-12
范围对比基线分支的差异行
工具SonarQube New Code、diff-cover、Codecov patch 状态
典型门槛新增行覆盖率在 80% 上下按团队基线调整
好处存量与增量分开治理,反馈聚焦本次改动

diff-cover 示例

diff-cover 示例
coverage run -m pytest
coverage xml -o coverage.xml
diff-cover coverage.xml --compare-branch=origin/main --fail-under=80
增量口径要与基线对齐:目标分支前进后差异集需重新计算。

易错点

  • 基线分支选错:差异集合过大或过小,门槛判定失真
  • 重命名或移动文件被算成新增:覆盖率骤降,需在工具侧配置排除

数据来源与参考

  • SonarQube Docs《Clean as You Code》
  • diff-cover 项目文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌