SuperAPI AI 工具集

test-first

测试与质量

查看项目

更新于 10-16 07:23

技能介绍

test-first 是一个测试先行(TDD)开发技能,用于在实现新功能、修复缺陷、重构或修改行为之前,先编写测试。其核心原则是:如果没有亲眼看到测试失败,就没有证据证明该测试验证了正确行为。该技能强调无例外、无变通、无捷径。

主要能力与流程:按红-绿-重构循环推进。RED 阶段编写一个最小的、描述期望行为的失败测试;随后必须运行测试并确认它确实失败,且失败原因是功能缺失而非拼写错误等。GREEN 阶段编写能通过测试的最简代码,不添加额外功能或无关重构,并再次运行测试确认通过且其他测试仍通过。REFACTOR 阶段在保持测试通过的前提下消除重复、改善命名、提取辅助函数,不新增行为。之后为下一个行为重复循环。

使用方式:资料提供必要的验证命令,例如 npm test path/to/test.test.ts,需保持原样。测试要求一个测试对应一个行为、命名具描述性、尽量使用真实代码,仅在不可避免时使用 mock。

适用场景:新功能、缺陷修复、重构、行为修改。例外情况包括一次性原型、生成代码和配置文件,但需与人类伙伴确认。

限制与约束:强烈禁止先写生产代码再去补测试;若测试立即通过,说明其在验证已有行为,应重写。文档明确反对“事后补测试”“已手动测试过”“删除已投入的工作浪费”“测试先行过于教条”等理由,认为事后测试带有实现偏见、无法证明测试有效。若不满足检查清单各项,则视为跳过了测试先行,需重新开始。资料未提供安装命令、收费或平台支持等信息。