工程开发
test-driven-development
强制执行测试驱动开发 (TDD),要求在编写代码前先编写失败测试,确保代码可靠性并防止过早工程化。
简介
test-driven-development 技能是软件代理的核心方法论组件,强制执行“红-绿-重构”(Red-Green-Refactor)循环。此技能专为重视软件质量、可维护性及架构完整性的开发者而设计。通过强制规定在没有相应失败测试的情况下不得编写生产代码,此技能消除了测试现有行为或编写不符合需求代码的风险。它可作为防止合理化借口、过度工程化及临时手动验证等常见陷阱的保护机制。
-
强制执行铁律:没有失败测试就不准写生产代码;任何过早编写的代码都必须删除。
-
引导代理完成完整的红-绿-重构循环:从编写最简化的失败测试开始,验证测试失败,实现能通过测试的最简代码,最后进行重构。
-
推广 YAGNI(你不需要它)原则,防止添加当前测试未验证的功能或“改进”。
-
通过创建全面的自动化测试套件来减少技术债,这些测试同时也充当了活文档。
-
与标准 CLI 测试框架(如 npm test)集成,以验证开发过程中的状态转换。
-
目标受众:专业软件工程师、DevOps 从业人员及处理生产级系统的技术代理。
-
使用场景:实现新功能、修复 Bug、执行重构及管理复杂代码库中的行为变更。
-
输入:具体的需求规格或 Bug 报告;当前项目结构的技术背景。
-
输出:一组清晰、简洁且具备意图描述的测试,随后是干净、可投入生产的代码。
-
实际限制:不适用于一次性原型、生成代码或配置文件,在这些情况下 TDD 可能收益递减。
-
重要建议:如果你没看过测试失败,就不知道它是否测试了正确的内容。务必确保失败原因是预期的,而非拼写错误或环境配置问题。
仓库统计
- Star 数
- 171,902
- Fork 数
- 15,164
- Open Issue 数
- 278
- 主要语言
- Shell
- 默认分支
- main
- 同步状态
- 空闲
- 最近同步时间
- 2026年4月29日 05:46