一键导入
test-driven-development
测试驱动开发,红-绿-重构循环
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
测试驱动开发,红-绿-重构循环
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
为文章生成配图,输入文章内容,直接输出可用的 Midjourney Prompt
漫画创作器,支持 8 种风格 × 6 种布局,自动生成分镜脚本和 AI 绘图 Prompt
小红书爆款笔记生成,掌握平台调性和爆款公式
B站视频内容总结,提取核心要点和时间戳
代码审查,生成中文报告,基于 anthropics/skills 和 obra/superpowers 项目
抖音短视频脚本生成,掌握短视频节奏和爆款结构
基于 SOC 职业分类
| name | test-driven-development |
| description | 测试驱动开发,红-绿-重构循环 |
| source | https://github.com/obra/superpowers |
基于 obra/superpowers 的 TDD 方法论。
先写测试,再写代码。红-绿-重构。
当用户需要实现新功能、修复 Bug、或重构代码时激活。
1. 明确要实现的功能
2. 写一个测试用例
3. 运行测试,确认失败
4. 失败原因应该是功能未实现
1. 只写让测试通过的代码
2. 不要过度设计
3. 不要写额外功能
4. 运行测试,确认通过
1. 在测试保护下重构
2. 消除重复代码
3. 改善命名和结构
4. 运行测试,确认仍然通过
┌─────────────────────────────────────┐
│ │
│ ┌─────────┐ │
│ │ 🔴 红 │ ← 写失败的测试 │
│ └────┬────┘ │
│ │ │
│ ▼ │
│ ┌─────────┐ │
│ │ 🟢 绿 │ ← 写最少代码通过测试 │
│ └────┬────┘ │
│ │ │
│ ▼ │
│ ┌─────────┐ │
│ │ 🔵 重构 │ ← 改进代码质量 │
│ └────┬────┘ │
│ │ │
│ └────────────────────────────┘
│ 重复
└─────────────────────────────────────┘
# 🧪 TDD 实现记录
## 功能需求
[需求描述]
## 实现计划
1. [ ] [测试用例1]
2. [ ] [测试用例2]
3. [ ] [测试用例3]
---
## 迭代1
### 🔴 红:测试用例
```[语言]
// 测试代码
运行结果:❌ 失败 失败原因:[原因]
// 实现代码
运行结果:✅ 通过
[重构说明,如果有的话]
[同上格式]
// 完整测试代码
// 完整实现代码
## 测试类型
### 单元测试
### 集成测试
### 端到端测试
## 测试金字塔
/\
/ \
/ E2E \ ← 少量
/──────\
/ 集成 \ ← 适量
/──────────
/ 单元 \ ← 大量
/──────────────\
## 最佳实践
### 测试命名
// 格式:should_[预期行为]when[条件] test('should return empty array when input is empty') test('should throw error when user not found')
### 测试结构 (AAA)
// Arrange - 准备 const input = [1, 2, 3]
// Act - 执行 const result = sum(input)
// Assert - 断言 expect(result).toBe(6)
### FIRST 原则
F - Fast(快速) I - Independent(独立) R - Repeatable(可重复) S - Self-validating(自验证) T - Timely(及时)
## 常见陷阱
### ❌ 避免
- 先写代码再补测试
- 测试依赖执行顺序
- 测试实现细节而非行为
- 测试覆盖率追求100%但质量低
- 忽略边界条件
### ✅ 建议
- 严格遵循红-绿-重构
- 每个测试独立运行
- 测试公开接口和行为
- 关注有意义的覆盖率
- 覆盖边界和异常情况