测试发现的,真是你刚改坏的地方吗?
为什么值得看
审核 AI 辅助完成的修复时,你需要说明测试究竟能发现什么错误。仅仅看到测试变红还不够。
导读
Matt Pocock 在 10 月 7 日的调试更新中增加了一步:如果故意修改代码或测试数据让测试失败,先与未修改的副本比较。这能确认改动确实发生;失败原因仍须对应目标缺陷。这是工作流程建议,不是性能实验结论。
前置概念: Repository · Acceptance criteria
“prove the mutation landed before you trust it.”一个英语表达
The test failed because …, which confirms …; it does not establish ….这里的 red 指测试失败,mutation 指对代码或测试数据的刻意修改。用 because 说明观察到的失败原因,再限定 confirms 能证明什么。句型由本站编写。
在可丢弃的练习文件中,用 age >= 18 编写 isAdult(age),并写测试要求 isAdult(18) 为 true。先确认通过。保存未修改的副本,把 >= 改成 >,检查 diff。运行测试,确认失败的是 18 岁这一断言,而不是环境准备步骤。恢复条件,再确认通过。用英语记录改动、实际失败原因,以及这个测试未覆盖的一种情况。
检查自己的说明
是否解释了机制、说清了条件,并形成一个具体工作判断?保存的是草稿,不代表已掌握。