🚀 快速安装
复制以下命令并运行,立即安装此 Skill:
npx @anthropic-ai/skills install am-will/codex-skills/tdd-test-writer
💡 提示:需要 Node.js 和 NPM
TDD 测试编写器
使用此技能完成 TDD 的 RED 阶段:先通过测试定义行为,验证它们因正确原因失败,然后将实现连同客观的通过标准一同移交。
何时使用
当用户请求以下内容时,使用此技能:
- 测试优先开发
- TDD / 红-绿-重构 工作流程
- 编写实现代理必须满足的测试
- 在代码更改前需要回归测试的错误修复
必需规则
- 运行此技能时,不要修改生产代码。
- 只要可用,就使用子代理角色
tdd_test_writer进行 RED 阶段的测试编写。 - 编写以行为为中心的测试,而不是占位符。
- 每个新增/更新的测试在移交前必须失败。
- 失败必须源于缺失或不正确的生产行为,而不是有问题的测试本身。
- 在可能的情况下,优先使用确定性的、有针对性的测试命令,而不是运行整个测试套件。
- 对于错误修复任务,添加一个能够捕捉到所报告失败模式的回归测试。
工作流程
1. 定义行为契约
- 将用户请求转化为明确的验收标准。
- 识别正常路径、边缘情况和负面路径预期。
- 如果需求不明确,在输出中记录
ASSUMPTION:(假设)行。
2. 委托 tdd_test_writer 编写测试
- 启动一个
tdd_test_writer子代理,提供任务范围、目标文件和验收标准。 - 要求子代理仅编写/更新测试(不更改生产代码)。
- 要求提供命令输出,证明新测试处于 RED 状态(失败)。
- 如果
tdd_test_writer不可用,则直接继续,并注明FALLBACK: tdd_test_writer unavailable(回退:tdd_test_writer 不可用)。
3. 发现现有测试约定
- 从仓库中检测测试框架和运行器(例如
vitest,jest,pytest,go test,cargo test)。 - 遵循现有的目录、命名和 fixture 约定。
- 重用现有的辅助函数,而不是引入重复的测试工具。
4. 编写 RED 阶段测试
- 创建或更新体现行为契约的测试文件。
- 保持测试小巧且意图明确(清晰的命名和断言)。
- 在适用的情况下,至少包含一个负面路径断言。
- 避免网络/时间随机性;对外部系统进行模拟或使用 fixture。
5. 验证 RED 状态
- 运行执行新测试的最窄范围命令。
- 确认它们因预期的行为差距而失败。
- 如果失败是由测试语法/设置引起的,修复测试并重新运行。
6. 生成实现移交说明
返回一个实现代理必须遵循的代码块。移交说明必须包括:
- 使用的子代理 (
tdd_test_writer) 或明确的回退原因 - 创建/更新的确切测试文件
- 确切的验证命令
- 证明 RED 状态的简短失败摘要
- 不可变的测试约束(除非需求变更,否则不要编辑测试)
- 定义任务完成的通过标准
必需的输出格式
TDD 红色阶段完成
## 编写模式
- 子代理:tdd_test_writer
- 回退:[仅当子代理不可用时填写]
## 测试文件
- [路径]
## 验证
- 命令:[确切命令]
- 结果:失败(预期)
- 失败原因:[1-2 行,与缺失行为相关]
## 实现契约(供下一个代理使用)
1. 不要修改这些测试:[路径]
2. 仅在这些位置进行生产更改:[路径或模块]
3. 完成门禁:[确切命令] 通过,且不能削弱测试。
4. 运行更广泛的安全检查:[次要命令]
5. 返回证据:更改的文件 + 命令输出摘要。
## 假设
- 假设:[仅在需要时填写]
质量标准
- 测试在实现前失败,并且可在本地重现。
- 断言足够具体,以防止误报。
- 对于由错误修复驱动的任务,包含回归测试覆盖率。
- 移交说明足够精确,以便另一个代理无需澄清即可执行。
📄 原始文档
完整文档(英文):
https://skills.sh/am-will/codex-skills/tdd-test-writer
💡 提示:点击上方链接查看 skills.sh 原始英文文档,方便对照翻译。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

评论(0)