目标
变更应随带真正验证其行为的测试。本工作流检查断言是否针对可观测行为而非仅让代码跑过,检查是否覆盖边界、空值与错误路径,确认测试不依赖顺序、共享状态或真实外部服务,并验证新行为确有一个在移除变更后会失败的测试。
步骤要点
- 检查断言是否针对可观测行为。
- 检查边界、空值与错误路径覆盖。
- 检查测试的隔离性与确定性。
- 验证新行为有会失败的测试。
# confirm tests fail without the change
git stash -- src/ && npm test; git stash pop
验证
按顺序执行上述步骤后,逐项确认每个步骤的预期状态均已满足;只有全部预期状态成立,才认为本流程完成。若某一步未达到预期状态,应先按排错提示排查,不要跳过继续,以免掩盖问题。
排错提示
- 只让代码跑过的测试抓不到问题。
- 顺序依赖的测试会导致抖动。
- 仅快照测试会漏掉意图回归。
适用边界
- 行为变更需有测试。
- 快照应配合断言。