test-driven-development
精���测试驱动开发工作流
也可从以下获取: Cycleaddict,davila7,ZhanlinCui,DMJGilbert,DYAI2025,Cygnusfear,CodingCossack,obra
在编写代码之后再编写测试无法证明测试实际上验证了任何内容。此技能强制执行红-绿-重构循环,每个测试必须在实现之前失败,确保测试验证真实行为。
下载技能 ZIP
在 Claude 中上传
前往 设置 → 功能 → 技能 → 上传技能
开启并开始使用
测试它
正在使用“test-driven-development”。 实现一个重试失败操作 3 次的函数
预期结果:
- 步骤 1 (RED):编写测试 'retries failed operations 3 times'
- 步骤 2:运行测试 - 验证它失败,因为重试逻辑不存在
- 步骤 3 (GREEN):实现最小的重试循环
- 步骤 4:运行测试 - 验证它通过
- 步骤 5 (REFACTOR):如需要,提取重试逻辑
正在使用“test-driven-development”。 Bug:表单接受空电子邮件
预期结果:
- RED:test('rejects empty email') - 预期错误 'Email required'
- 验证:测试失败 - 表单当前接受空电子邮件
- GREEN:添加空电子邮件验证检查
- 验证:测试通过,无回归
- 结果:Bug 已修复,测试防止回归
安全审计
安全This skill contains only markdown documentation explaining test-driven development methodology. All 57 static analyzer findings for external_commands are false positives - the detected backticks are markdown code fences (```) used for syntax highlighting, not Ruby shell execution. The 6 cryptographic algorithm findings and reconnaissance detections are also false positives from pattern matching on documentation text. No executable code, network calls, or filesystem operations exist in this skill.
质量评分
你能构建什么
新功能开发
在实现新功能时使用 TDD,确保每个函数都有相应的测试,在提交之前证明正确的行为
防止回归的 Bug 修复
首先编写一个重现该错误的失败测试,然后实现修复,确保该错误无法回归
自信地重构
使用现有测试套件验证在代码重组或优化期间行为保持不变
试试这些提示
我需要实现 [功能]。帮助我先编写一个描述预期行为的失败测试,然后引导我完成红-绿-重构。
Bug: [描述 bug]。帮助我编写一个重现此 bug 的测试(应该失败),然后实现最小的修复以使其通过。
审查我对 [函数] 的测试。它���试的是真实行为还是模拟行为?测试名称清晰吗?它是否只测试一件事?
我即将 [操作]。检查这是否违反 TDD 原则。我是在测试模拟行为吗?添加仅测试代码?在不理解的情况下进行模拟?
最佳实践
- 在实现之前始终观察测试失败 - 这证明测试实际上测试了某些内容
- 编写最少的代码以通过测试 - 没有额外的功能,没有过度设计
- 如果跳过 TDD 循环,则删除实现代码并从测试开始重新开始
避免
- 在测试存在之前编写实现代码
- 测试模拟行为而不是真实代码行为
- 向生产类添加仅测试方法