← 中文资源

简体中文版本

覆盖率增量门禁工作流

按变更行覆盖率而非全局百分比设门禁,使新代码被测而不受遗留债拖累。

阅读英文原文

目标

覆盖率应针对变更代码而非全局绝对目标。本工作流计算仅限变更行的覆盖率,要求其高于阈值而不要求全局百分比,允许对生成或琐碎代码做有理由的排除,同时监控全局覆盖率趋势以防整体下滑。

步骤要点

  1. 计算仅限变更行的覆盖率。
  2. 按增量阈值设门禁而非全局百分比。
  3. 允许有理由的排除并注明。
  4. 监控全局覆盖率趋势防止下滑。
# diff coverage on changed lines only
diff-cover coverage.xml --compare-branch=origin/main --fail-under=80

验证

按顺序执行上述步骤后,逐项确认每个步骤的预期状态均已满足;只有全部预期状态成立,才认为本流程完成。若某一步未达到预期状态,应先按排错提示排查,不要跳过继续,以免掩盖问题。

排错提示

  • 全局门禁会因无关遗留债而阻断。
  • 未注明的排除会掩盖缺口。
  • 忽略全局趋势会让覆盖下滑。

适用边界

  • 需要支持 diff 的覆盖工具。
  • 排除需可评审。