SuperAPI AI 工具集

test-driven-development

编程与开发

查看项目

更新于 10-16 02:31

技能介绍

用途:在任何新功能、缺陷修复、重构或行为变更前,强制先写测试。明确例外为一次性原型、生成代码和配置文件,需先询问人类搭档。

主要能力:围绕红-绿-重构循环展开。红阶段写一个最小失败测试,验证其按预期失败;绿阶段写最简单代码让测试通过,并确认全部测试为绿;重构阶段在绿的基础上消除重复、改进命名、提取辅助函数,且不新增行为。每次循环只处理一个行为。

使用方式:每步用测试命令验证,如 npm test path/to/test.test.ts。必须亲眼看到测试失败,确认失败原因是功能缺失而非笔误或报错。测试通过后先运行该测试再运行整体测试,保持输出干净。若在测试之前写了生产代码,应删除并从头用 TDD 实现,不得保留为参考或边写测试边改写。

适用场景:功能开发、缺陷修复(先写复现测试,再走 TDD 循环)、重构、行为变更。测试应聚焦真实行为,名称清晰,避免不必要的 mock。

限制:资料未说明具体语言、框架或平台限制,也未提供收费、安装或配置信息。核心理念是“未见过失败,就不知道测试是否测对了事情”。若不知道如何测试,可先写期望的 API 和断言,或询问人类搭档;测试过于复杂往往意味着设计需要简化。完成前需核对清单:每个新函数都有测试、亲眼看过每个测试失败、失败原因正确、只写最小实现、全部通过、输出无错误警告、尽量使用真实代码、覆盖边界与错误。