Test Driven Development
面向非平凡行为的测试驱动开发技能
安装使用
复制下面这段提示词发给你的 AI(Claude / Cursor / TRAE / Codex / WorkBuddy 等),它会自动帮你完成安装:
帮我安装这个 AI Skill:Test Driven Development。 它的用途是:面向非平凡行为的测试驱动开发技能 完整的 Skill 内容见:https://321skill.com/skills/test-driven-development/raw/index.md 请读取该页面内容,如果是 SKILL.md 格式直接安装,如果是 README 提炼核心 prompt 后安装。
提示词包含完整的 Skill 内容链接,AI 读取后即可完成安装。你也可以 查看完整内容 确认无误。
使用示例
‘实现一个用户登录功能,要求先写测试再写代码,测试需覆盖密码错误和账号锁定场景。’AI会先为你生成两个失败的测试用例(密码错误返回错误码、连续输错5次锁定账号),运行并展示失败日志;然后生成最小代码通过测试,并提示重构建议,最后输出完整的测试套件和代码。
介绍
许多开发者在实践测试驱动开发(TDD)时,容易陷入为简单逻辑写测试的误区,导致测试失去意义。本技能专注于解决“非平凡行为”的测试驱动开发,确保你编写的测试能够真正驱动代码设计,减少隐藏缺陷,并让测试套件成为可执行的文档。它强调首先编写一个会失败的测试,并观察其失败证据,然后仅编写足够通过测试的最小代码,从而保持代码简洁、可维护。
使用本技能时,你需要先明确要实现的非平凡行为,然后按照“红-绿-重构”循环操作:先写一个可验证的失败测试,运行并确认失败证据;再编写最少量的代码使其通过;最后视情况重构代码和测试。整个过程由AI辅助生成测试用例、代码片段和重构建议,并自动维护测试套件的完整性。
本技能适合所有需要编写业务逻辑、算法或复杂功能的开发者,包括后端开发、全栈开发、测试工程师等。尤其适合在敏捷开发中追求高质量代码的团队,以及在编写遗留代码时希望引入测试保护的场景。对于简单getter/setter或纯UI样式,本技能可能过度设计,建议配合其他测试策略使用。
使用建议:请确保每次测试都针对一个明确的行为,并在编写测试前先思考预期失败的表现。不要跳过“观察失败证据”这一步,它是验证测试有效性的关键。另外,本技能假设你已具备基本的测试框架知识(如Jest、Pytest),AI会生成代码但不会自动安装依赖。
核心特点
与同类TDD技能最大的区别在于,它强制要求“先看到测试失败且带有证据”再写代码,而非仅指导写测试;同时它专注于“非平凡行为”,避免新手在简单场景上浪费精力。
注意事项
不适合纯UI样式、简单数据绑定或无需验证逻辑的代码,以及需要大量外部依赖集成测试的场景。
常见问题
如何开始TDD?
先明确一个非平凡行为,编写一个会失败的测试,运行并确认失败证据,然后编写最小代码通过测试。
TDD和单元测试有什么区别?
TDD是一种设计方法,先写测试再写代码;单元测试是验证手段,可随时补充。本技能将两者结合,让测试驱动代码设计。
给 AI 助手的安装指引
如果你的 AI 编程助手(Claude Code、Cursor、TRAE 等)能看到这个页面,把下面这段发给它即可自动完成安装:
请访问 https://321skill.com/skills/test-driven-development/raw/index.md 读取 Test Driven Development 的原始 Skill 定义(Markdown 格式),按其中说明在我的环境里完成安装和配置。
AI 可直接读取的原始 Markdown 地址:/skills/test-driven-development/raw/index.md(查看排版版本)