SuperAPI AI 工具集

test-driven-development

编程与开发

查看项目

更新于 10-16 01:50

技能介绍

用途:该技能用于在任何功能实现或缺陷修复之前,先行编写测试,遵循测试驱动开发(TDD)流程。适用场景包括新功能、缺陷修复、重构与行为变更;一次性原型、生成代码与配置文件等可作为例外,但需征得人类伙伴同意。

主要能力与核心原则:铁律是“没有失败的测试,就不写生产代码”。若先写了代码,应删除并重新开始,不得作为“参考”保留、不得边写测试边“改编”。流程为红-绿-重构:RED 写一个最小失败测试并观察其失败;GREEN 写最小代码使其通过;REFACTOR 在保持测试通过的前提下清理重复、改进命名、抽取辅助。每次变更后必须验证测试确实因预期原因失败或通过,输出无错误无警告。

使用方式:编写单个行为的测试,名称清晰,尽量使用真实代码,非必要不用 mock。运行测试确认失败原因符合预期(功能缺失而非拼写错误);实现最小代码后重新运行,确认测试通过且其他测试不受影响。缺陷修复时先写复现该缺陷的失败测试,再按循环修复。测试难以编写通常提示设计需简化,可通过依赖注入降低耦合。

限制与约束:文档强调不得跳过验证,测试立即通过说明可能测的是已有行为或实现细节;事后补测试无法证明测试有效。手动测试是临时的、无法复跑。遇到“只这一次跳过 TDD”等理由应停止并重新开始。新增 mock 或测试工具时需参考 testing-anti-patterns.md 以避免测试 mock 行为、在生产类中添加测试专用方法等反模式。是否允许例外需由人类伙伴决定。

其他事实:官方文档中提到的具体命令为 npm test path/to/test.test.ts,示例涉及 TypeScript 与 Jest 风格断言。除上述内容外,暂未提供该技能的安装命令、价格、平台或更多实现细节。