SuperAPI AI 工具集

test-driven-development

编程与开发

查看项目

更新于 10-16 09:31

技能介绍

用途:该技能规定在编写实现代码前先编写测试,用于新功能、缺陷修复、重构和行为变更。核心原则是:没有先看到测试失败,就无法确认测试测的是正确行为。

主要能力/流程:红-绿-重构循环。RED:编写一个最小测试,展示应发生的行为,要求单一行为、命名清晰、尽量使用真实代码而非 mock。Verify RED:必须运行测试并观察其失败,确认失败原因正是功能缺失,而非拼写错误。GREEN:编写最简单代码让测试通过,不添加额外功能或重构。Verify GREEN:必须运行测试,确认本测试通过、其他测试仍通过、输出干净无错误警告。REFACTOR:仅在绿灯后进行去重、命名改进、提取辅助函数,不得添加新行为。之后重复下一轮。

必要用法:编写测试后运行 npm test path/to/test.test.ts 验证失败,再实现最小代码,再运行同一命令验证通过。遇到缺陷时,先写复现失败测试,再按循环修复。验证清单包括:每个新函数都有测试、亲眼看到每个测试先失败且失败原因符合预期、只写最小代码、全部测试通过、输出干净、尽量用真实代码、覆盖边界与错误。

适用场景与限制:规则强调“没有失败的测试就不写生产代码”,若先写了代码则应删除并从头开始,不保留为参考、不边写测试边适配。允许的例外需询问人类伙伴:一次性原型、生成代码、配置文件。文档给出常见合理化借口及其反驳,并列出红旗信号,一旦出现即应停止并重新开始。无法确定具体语言或环境细节时,应以实际项目测试命令为准;资料未提供其他平台或语言示例。