# Tdd Cycle

> 执行 TDD 红绿重构循环（RED→GREEN→REFACTOR→REPEAT），通过先写失败测试、最小代码实现、保持绿色重构的节奏驱动开发。当启动功能开发、需要测试驱动节奏、进行迭代编码、追求高测试覆盖率时使用。提供检查清单和节奏控制。

- Skill: `majiayu000/tdd-cycle` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add majiayu000/tdd-cycle`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/tdd-cycle/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/tdd-cycle

---


# TDD Cycle Skill

> **Scope**: EXECSPEC_FULFILL — Fulfill ExecSpec（落实 ExecSpec）
>
> **版本**: 0.1.0（占位）| **创建日期**: 2025-11-27

---

## 概述

TDD Cycle 是测试驱动开发的核心循环：

```
┌─────────────────────────────────────────────────────┐
│              🔄 TDD Cycle                           │
├─────────────────────────────────────────────────────┤
│       ┌─────┐                                      │
│       │ RED │ ← 写失败的测试                        │
│       └──┬──┘                                      │
│          ↓                                         │
│       ┌─────┐                                      │
│       │GREEN│ ← 最小代码让测试通过                  │
│       └──┬──┘                                      │
│          ↓                                         │
│    ┌──────────┐                                    │
│    │REFACTOR │ ← 重构，保持测试绿色                 │
│    └────┬─────┘                                    │
│         └──────→ REPEAT                            │
└─────────────────────────────────────────────────────┘
```

**核心节奏**：
- 🔴 **RED**: 先写失败的测试
- 🟢 **GREEN**: 写最小代码让测试通过
- 🔵 **REFACTOR**: 重构代码，保持测试绿色
- 🔁 **REPEAT**: 循环直到功能完成

---

## L1-STREAMLINED

### 检查清单

- [ ] 测试先于实现代码编写
- [ ] 每次 GREEN 后立即考虑重构
- [ ] 单元测试覆盖率 ≥ 80%
- [ ] 测试金字塔比例合理（60%单元/30%集成/10%E2E）
- [ ] GOAL 注释已添加到测试文件

### 通过标准

- 5 项中 4 项通过（≥80%）

---

## >> 命令

```
>>tdd_check_l1         # 检查 TDD 节奏
>>coverage_report_l1   # 测试覆盖率报告
```

---

## GOAL 注释规范

```javascript
// GOAL: GOAL-XXX-001
describe('功能描述', () => {
  it('should ...', () => {
    // 测试代码
  });
});
```

---

## 常见问题

### 🔴 RED 阶段

**问题**：测试写得太大
**解决**：每个测试只验证一个行为

**问题**：不知道先测什么
**解决**：从最简单的 Happy Path 开始

### 🟢 GREEN 阶段

**问题**：写了太多代码
**解决**：只写让测试通过的最小代码

**问题**：想一步到位
**解决**：接受"丑陋"的代码，重构阶段再优化

### 🔵 REFACTOR 阶段

**问题**：跳过重构
**解决**：每次 GREEN 后强制问自己"能更简单吗？"

**问题**：重构时破坏测试
**解决**：小步重构，每步都运行测试

---

## 相关 Skills

- **前置**: bdd-scenario（BDD 场景已定义）
- **并行**: code-quality（质量门禁）
- **原则**: principle-dry, principle-kiss

---

**TODO**: 待细化覆盖率检查脚本和 TDD 节奏监控

