# Tdd

> Use red-green-refactor when test-first development is requested or materially reduces implementation risk.

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

---


# TDD Skill（for Agents）

## 适用场景
- 新功能、Bug Fix、重构后行为校验
- 重要规则/边界变更（支付、鉴权、幂等）

## 核心原则

1. **红-绿-重构**：测试先行，先让测试失败，再最小实现通过。
2. **失败是必要条件**：没有看见失败，就没有验证到行为。
3. **一次只测一个行为**：每个测试只说明一个可验证结果。

## 任务执行步骤

1. 写最小失败用例（行为级别）
2. 验证失败点是正确缺失（不是语法/环境问题）
3. 最小代码使其通过
4. 重构不改变行为
5. 继续下一个用例

## 强制执行清单

- 关键行为至少一条失败→通过证据。
- 测试名应表达“何时会发生什么”。
- 避免用测试直接验证实现细节。
- 修改业务逻辑前，先补失败测试再改代码。
- 线上高风险路径不应跳过该流程，除非有充分理由并标注豁免。

## 常见错误

- 先写实现再“补”测试。
- 测试过宽，混合多个场景。
- 只验证成功，不验证失败恢复。
- 视图层/副作用逻辑不稳定却没有 mock 与可控替身。

## 质量指标

- 可复跑：`test命令` 多次执行同结果
- 覆盖边界：空值、非法输入、并发、超时、重试
- 回归闭环：新测试能阻止旧 bug 回归

## 与项目规则冲突

- 如果已有既定测试规范（PyTest/Jest/Go test/xUnit），本文件作为高层方法论补充。
- 与本项目的 testing skill 不矛盾时同步执行。

