mcpField
T
tdd-workflow

tdd-workflow

github.com/davila7测试与质量33.0k290 次安装今天更新
代码仓库

关于 tdd-workflow

TDD Workflow 是面向开发者和编码 Agent 的技能,通过 RED、GREEN、REFACTOR 循环实践测试驱动开发,也涵盖测试结构、优先级和 AI 多 Agent 分工。

主要功能

  1. 01RED-GREEN-REFACTOR 循环
  2. 02各 TDD 阶段的指导
  3. 03Arrange-Act-Assert 测试结构
  4. 04测试优先级
  5. 05AI 多 Agent 工作流

适用场景

  1. 01先写测试开发新功能
  2. 02用失败测试复现缺陷
  3. 03指导渐进式重构
  4. 04将 TDD 阶段分配给多个 Agent

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/davila7/claude-code-templates --skill tdd-workflow

安装后在 Claude Code 中输入/tdd-workflow确认已加载。

详细介绍

TDD 工作流

先编写测试,再编写代码。


1. TDD 循环

🔴 RED → Write failing test
    ↓
🟢 GREEN → Write minimal code to pass
    ↓
🔵 REFACTOR → Improve code quality
    ↓
   Repeat...

2. TDD 三定律

  1. 只编写能让失败测试通过的生产代码
  2. 只编写足以证明失败的测试
  3. 只编写足以让测试通过的代码

3. RED 阶段原则

编写内容
重点示例
行为“应能将两个数字相加”
边界情况“应能处理空输入”
错误状态“无效数据应抛出异常”
RED 阶段规则
  • 测试必须先失败
  • 测试名称应描述预期行为
  • 每个测试只包含一个断言(理想情况下)

4. GREEN 阶段原则

最少代码
原则含义
YAGNI你不会需要它
最简单的做法编写通过测试所需的最少代码
不做优化只要能正常工作即可
GREEN 阶段规则
  • 不要编写不需要的代码
  • 暂时不要优化
  • 通过测试,仅此而已

5. REFACTOR 阶段原则

改进内容
领域操作
重复代码提取共用代码
命名清晰表达意图
结构改进组织方式
复杂度简化逻辑
REFACTOR 规则
  • 所有测试必须保持通过
  • 进行小幅渐进式修改
  • 每次重构后都提交

6. AAA 模式

每个测试都遵循以下步骤:

步骤目的
Arrange准备测试数据
Act执行待测代码
Assert验证预期结果

7. 何时使用 TDD

场景TDD 价值
新功能高
修复 Bug高(先编写测试)
复杂逻辑高
探索性开发低(先进行试验性开发,再使用 TDD)
UI 布局低

8. 测试优先级

优先级测试类型
1正常流程
2错误情况
3边界情况
4性能

9. 反模式

❌ 不要✅ 应该
跳过 RED 阶段先观察测试失败
之后再写测试先写测试
一开始就过度设计保持简单
包含多个断言每个测试只测一种行为
测试实现细节测试行为

10. AI 辅助 TDD

多 Agent 模式
Agent职责
Agent A编写失败测试(RED)
Agent B实现代码以通过测试(GREEN)
Agent C优化(REFACTOR)

请记住: 测试就是规范。如果你无法编写测试,就说明你还不理解需求。

评论

支持 Markdown