mcpField
T
tdd-test-writer

tdd-test-writer

github.com/am-will测试与质量1.0k857 次安装15 周前更新
代码仓库

关于 tdd-test-writer

TDD Test Writer 是面向采用测试先行流程的团队的测试技能,要求在实现前编写关注行为的测试。它明确验收标准,确认测试因预期问题而失败,并向实现者提供通过条件。

主要功能

  1. 01定义行为约定与验收标准
  2. 02只编写测试,不修改生产代码
  3. 03确认测试针对预期缺口处于 RED 状态
  4. 04提供实现交接说明与通过标准

适用场景

  1. 01以测试先行方式启动功能开发
  2. 02在修复 Bug 前添加回归测试
  3. 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 修复

必须遵守的规则

  1. 使用此技能时,不要修改生产代码。
  2. 只要有条件,就使用 tdd_test_writer 子 Agent 编写 RED 阶段测试。
  3. 编写关注行为的测试,不要使用占位测试。
  4. 每个新增或更新的测试都必须在交接前失败。
  5. 失败必须源于生产行为缺失或错误,而不是测试本身有问题。
  6. 尽可能使用确定性、针对性强的测试命令,而不是运行完整测试套件。
  7. 对于 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