tdd
测试驱动开发。当用户希望以测试优先的方式构建功能或修复缺陷、提到“红绿重构”(red-green-refactor),或需要集成测试时使用。
技能说明mattpocock/skills
测试驱动开发。当用户希望以测试优先的方式构建功能或修复缺陷、提到“红绿重构”(red-green-refactor),或需要集成测试时使用。
技能简介
本技能提供测试驱动开发(TDD)的参考规范,指导你在“红 → 绿”循环中写出值得保留的测试:明确好测试的标准、测试放置位置(seams)、常见反模式以及循环规则。它帮助用户以测试优先方式构建功能或修复缺陷,并避免常见陷阱。
使用场景
- 用户希望以测试优先方式构建新功能或修复缺陷。
- 用户明确提到“红绿重构”(red-green-refactor)。
- 需要编写集成测试。
- 对现有模块补充行为规格测试,确保代码可安全重构。
- 需要与用户协商测试边界(seams)并确定测试策略。
使用方法
本技能作为 Agent Skill 使用。在支持 Skills 的 Agent 环境中(如 Claude 等),将技能文件配置到 skills 目录后,当用户表达上述测试相关需求时,Agent 会自动加载并遵循本技能指导。
核心使用流程:
- 先写失败测试(red),确认测试因预期原因失败。
- 编写足够的最小实现使测试通过(green)。
- 每次循环只处理一个 seam、一个测试、一个最小实现(垂直切片)。
- 在写测试前,先与用户确认要测试的公共接口(seams),不测试未经确认的内部实现。
- 查看代码库时先读
CONTEXT.md(如存在),使测试命名与项目领域语言一致;若接口形状不确定,可调用codebase-design技能获取术语参考。
注意事项
- 只在“预先协商的 seam”处测试,不测私有方法或内部协作对象。
- 避免反模式:实现耦合(重构时测试随内部结构破坏)、同义反复(断言值由实现本身推导)、水平切片(先写全部测试再写实现)。
- 重构不属于红绿循环,应放到 review 阶段,而不是实现循环内。
- 测试期望值必须来自独立来源(如已知常量、规范示例),不能由实现重新计算。