mcpField
T
tdd-workflow

tdd-workflow

github.com/sickn33测试与质量48.7k1.0k 次安装今天更新
代码仓库

关于 tdd-workflow

为开发者提供测试驱动开发的分阶段工作流,按 RED、GREEN、REFACTOR 循环推进,并强调最小实现与测试行为。

主要功能

  1. 01RED、GREEN、REFACTOR 循环
  2. 02测试先行与最小实现
  3. 03按 AAA 组织测试
  4. 04渐进式重构原则
  5. 05测试优先级指导

适用场景

  1. 01为新功能先编写失败测试
  2. 02修复缺陷时先复现问题
  3. 03为复杂逻辑规划测试次序

安装

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

$npx skills add https://github.com/sickn33/agentic-awesome-skills --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 阶段原则

应该写什么
关注点示例
行为"should add two numbers"
边界情况"should handle empty input"
错误状态"should throw for invalid data"
RED 阶段规则
  • 测试必须先失败
  • 测试名称描述预期行为
  • 每个测试一个断言(理想情况下)

4. GREEN 阶段原则

最少代码
原则含义
YAGNIYou Aren't Gonna Need It
最简单方案编写足以通过的最少代码
不做优化先让它能运行
GREEN 阶段规则
  • 不要编写不需要的代码
  • 暂时不要优化
  • 通过测试即可,仅此而已

5. REFACTOR 阶段原则

应该改进什么
方面行动
重复提取公共代码
命名让意图清晰
结构改进组织方式
复杂度简化逻辑
REFACTOR 规则
  • 所有测试必须保持通过
  • 小步增量修改
  • 每次重构后提交

6. AAA 模式

每个测试都遵循:

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

7. 何时使用 TDD

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

8. 测试优先级

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

9. 反模式

❌ 不要✅ 要
跳过 RED 阶段先观察测试失败
事后补测试先写测试
一开始就过度设计保持简单
多个断言每个测试一个行为
测试实现测试行为

10. AI 增强 TDD

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

记住: 测试就是规格说明。如果你写不出测试,就说明你还不理解需求。

何时使用

本技能适用于执行概述中描述的工作流或操作。

限制

  • 仅当任务明确符合上述范围时使用本技能。
  • 不要将输出视为特定环境验证、测试或专家审查的替代品。
  • 如果缺少必要输入、权限、安全边界或成功标准,请停止并请求澄清。

评论

支持 Markdown