# Tdd

> Test-Driven Development with RED-GREEN-REFACTOR cycle and commit strategy per Path

- Skill: `wenjunduan/tdd-6` (Agent Skill)
- Install (CLI): `npx skillmds@latest add wenjunduan/tdd-6`
- Raw SKILL.md: https://api.skillmd.com/api/skills/wenjunduan/tdd-6/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: wenjunduan (https://skillmd.com/u/wenjunduan)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/wenjunduan/tdd-6

---


# TDD (RED-GREEN-REFACTOR)

## 工具

| 工具 | 类型 | 用法 | 调用方式 |
|:---|:---|:---|:---|
| Superpowers tdd | Plugin Skill | TDD 方法论 | 自动: E 阶段触发 |
| Superpowers subagent-driven-dev | Plugin Skill | 子任务并行 | 自动: 复杂任务时 |
| sou | MCP | 搜索现有测试风格 | `sou.search("相关测试")` |
| commit-commands | Plugin | 每次 GREEN 后提交 | 自动: `git commit` 时 |

## 铁律

代码在测试之前编写 → 删除代码，重写。无例外。

## 循环

```
RED:      写测试 → 运行 → 必须失败 (确认测试表达需求)
GREEN:    写最小代码 → 运行 → 必须通过
REFACTOR: 优化代码 → 运行 → 测试仍通过
```

## 执行方式

```
1. 从 todo.md 取 TDD 任务
2. sou.search("相关测试") → 了解项目测试风格
3. → Superpowers tdd: 执行 RED-GREEN-REFACTOR
   降级: SP 未安装 → 直接执行上述循环
4. 复杂任务 → Superpowers subagent-driven-dev:
   子任务 A: 写测试 (RED)
   子任务 B: 实现代码 (GREEN)
   降级: SP 未安装 → 顺序执行
5. 更新 doing.md → done.md
```

## 提交策略

| Path | 提交时机 | 说明 |
|:---|:---|:---|
| A | 改完直接 commit | 不走 TDD |
| B | 每个 TASK 完成后 | `feat: implement TASK-N` |
| C/D | 每个 GREEN 后 | 小步提交，便于 bisect |

提交由 commit-commands plugin 自动格式化 (Conventional Commits)。

## Plan 集成

P 阶段 todo.md 中，TDD 任务交替:

```
[TASK-1] 写 LoginForm 测试 (RED)        | 3min
[TASK-2] 实现 LoginForm (GREEN)          | 5min
[TASK-3] 重构 LoginForm (REFACTOR)       | 3min
```

## 强制级别

| Path | TDD | 覆盖率 |
|:---|:---|:---|
| A | 跳过 | — |
| B | 推荐 (--no-tdd 跳) | 60% |
| C | 强制 | 80% |
| D | 强制 (每个 teammate) | 85% |

