pdlc-tdd
スター10
フォーク2
更新日2026年8月1日 22:29
TDD 测试先行(按设计文档生成失败的测试用例)
インストール
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SKILL.md
readonlyメニュー
TDD 测试先行(按设计文档生成失败的测试用例)
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
全自动 PDLC 新功能开发(串联 PRD→设计→TDD→实现→评审→发布)
全自动 Bug 修复(定位→复现→修复→测试→文档)
按设计文档和已有测试用例实现代码(带前置守卫、自检、handoff)
创建 PRD 文档(自动化生成 + 自检 + handoff)
质量闸门——跑真实 check、对照质量目标、出可核对报告,由人签字放行
代码评审 + 文档评审
| name | pdlc-tdd |
| description | TDD 测试先行(按设计文档生成失败的测试用例) |
| argument-hint | <功能ID | 功能描述> |
| allowed-tools | Read, Write, Edit, Glob, Grep, Bash |
| layer | 2 |
| stage | tdd |
| produces | ["<测试代码 · 项目既有布局>","docs/04_testing/unit-tests/**"] |
| requires | ["docs/02_design/"] |
| next_step | pdlc-implement |
| terminal_state | tdd_done |
| recommended_model | sonnet |
| recommended_effort | medium |
根据设计文档,先编写测试用例,再实现代码。严格遵循 TDD 工作流。
docs/02_design/ 的子目录(api/、architecture/、database/、ui-ux/)下搜索包含该关键词的设计文档
F<日期>-<编号>-*<关键词>*-<类型>.mdYYYYMMDD-*<关键词>*-<类型>.md⛔ PDLC 守卫:未找到与「<功能名>」相关的设计文档(API/架构/数据库/UI 任一)。
测试用例必须基于已有的设计文档。请先运行:
👉 /pdlc-design <设计目标>
F20260326-090000),读取设计文档内容,继续执行docs/00_standards/coding/ 目录了解编码规范(未命中 → 提示 consider /pdlc-standard add coding/<topic>)docs/04_testing/unit-tests/ 下创建测试计划文档
templates/test-plan-template.md<功能ID>-<功能名>-test-plan.md(如 F20260326-090000-user-auth-test-plan.md)<!-- PDLC-TRACE -->
<!-- 功能ID: F20260326-090000 -->
<!-- 功能名称: user-auth -->
<!-- 阶段: 测试 -->
<!-- 前置文档: docs/02_design/api/F20260326-090000-user-auth-api.md -->
测试计划自审与自动修复(编写完成后、运行前执行,不可跳过):
验收标准覆盖度:
场景完备性:
测试质量:
should_return_404_when_user_not_found)test1、abc123 等无意义数据)自动修复:
## 自审记录
- 审查时间:<ISO 8601>
- 对照 PRD 验收标准:X 条,已覆盖:X 条
- 对照 API 接口:X 个,已覆盖:X 个
- 发现问题:X 项
- 自动修复:X 项
- 修复明细:
- [已修复] <问题描述>
确认测试失败: 运行测试确认全部失败(红灯)。运行命令取自 docs/00_standards/test-commands.yml 的 unit(不存在则回退项目约定)。收尾写 last_phase_result.checks = { "red_verified": true }(红灯已由真跑退出码验证,非模型自评)
实现代码: 编写最少量的代码使测试通过
重构: 在测试通过的前提下优化代码
docs/00_standards/test-commands.yml 的 coverage 命令阈值参数(那才是强制点,退出码即判定),其次 quality-targets.yml;两者都没有时按 >= 80% 兜底。目标功能: $ARGUMENTS