关于 tdd-test-writer
TDD Test Writer 是面向采用测试先行流程的团队的测试技能,要求在实现前编写关注行为的测试。它明确验收标准,确认测试因预期问题而失败,并向实现者提供通过条件。
主要功能
- 01定义行为约定与验收标准
- 02只编写测试,不修改生产代码
- 03确认测试针对预期缺口处于 RED 状态
- 04提供实现交接说明与通过标准
适用场景
- 01以测试先行方式启动功能开发
- 02在修复 Bug 前添加回归测试
- 03为独立的实现 Agent 准备测试
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ am-will/ codex-skills --skill tdd-test-writer安装后在 Claude Code 中输入/tdd-test-writer确认已加载。
详细介绍
TDD 测试编写器
使用此技能完成 TDD 的 RED 阶段:先通过测试定义行为,确认测试因正确原因失败,然后交接实现工作,并明确客观的通过标准。
适用场景
在用户提出以下需求时使用此技能:
- 测试优先开发
- TDD / RED-GREEN-REFACTOR 工作流
- 编写实现 Agent 必须满足的测试
- 需要在修改代码前添加回归测试的 Bug 修复
必须遵守的规则
- 使用此技能时,不要修改生产代码。
- 只要有条件,就使用
tdd_test_writer子 Agent 编写 RED 阶段测试。 - 编写关注行为的测试,不要使用占位测试。
- 每个新增或更新的测试都必须在交接前失败。
- 失败必须源于生产行为缺失或错误,而不是测试本身有问题。
- 尽可能使用确定性、针对性强的测试命令,而不是运行完整测试套件。
- 对于 Bug 修复任务,应添加能复现所报告故障模式的回归测试。
工作流
1. 定义行为契约
- 将用户请求转化为明确的验收标准。
- 明确预期的正常路径、边界情况和异常路径。
- 如果需求不明确,在输出中记录
ASSUMPTION:行。
2. 委派测试编写给 tdd_test_writer
- 启动
tdd_test_writer子 Agent,并向其提供任务范围、目标文件和验收标准。 - 要求子 Agent 只编写或更新测试,不得修改生产代码。
- 要求提供命令输出,以证明测试处于 RED 状态。
- 如果
tdd_test_writer不可用,则直接继续,并注明FALLBACK: tdd_test_writer unavailable。
3. 了解现有测试惯例
- 从仓库中识别测试框架和运行器(例如
vitest、jest、pytest、go test、cargo test)。 - 遵循现有的目录、命名和测试数据惯例。
- 复用现有辅助工具,避免引入重复的测试工具。
4. 编写 RED 阶段测试
- 创建或更新测试文件,将行为契约编码为测试。
- 测试应简洁且意图明确(名称和断言清晰)。
- 在适用时,至少包含一个异常路径断言。
- 避免网络和时间带来的随机性;对外部系统使用模拟或测试数据。
5. 验证 RED 状态
- 运行范围最小且能执行新增测试的命令。
- 确认测试因预期的行为缺口而失败。
- 如果失败由测试语法或设置问题导致,修正测试并重新运行。
6. 输出实现交接说明
返回实现 Agent 必须遵循的交接内容。交接说明必须包含:
- 使用的子 Agent(
tdd_test_writer)或明确的回退原因 - 创建或更新的确切测试文件
- 确切的验证命令
- 能证明 RED 状态的简短失败摘要
- 不可更改测试的约束(除非需求发生变化,否则不得编辑测试)
- 定义任务完成条件的通过标准
必需的输出格式
TDD RED PHASE COMPLETE
## Authoring Mode
- Subagent: tdd_test_writer
- Fallback: [only if subagent unavailable]
## Test Files
- [path]
## Verification
- Command: [exact command]
- Result: FAIL (expected)
- Failure reason: [1-2 lines tied to missing behavior]
## Implementation Contract (for next agent)
1. Do not modify these tests: [paths]
2. Implement production changes only in: [paths or modules]
3. Completion gate: [exact command] passes with no test weakening.
4. Run broader safety check: [secondary command]
5. Return evidence: changed files + command output summary.
## Assumptions
- ASSUMPTION: [only if needed]
质量标准
- 测试在实现前失败,并且可在本地复现。
- 断言足够具体,能够避免误报。
- 对于由 Bug 修复驱动的任务,应包含回归测试。
- 交接内容应足够明确,使其他 Agent 无需澄清即可执行。
评论
支持 Markdown