Agent Skills
返回列表
💻

TDD 绿灯:最小实现

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/tdd-workflows-tdd-green。

技能介绍

红灯之后该写什么

TDD 的绿灯阶段不是「把功能做全」,而是让当前失败的那条测试在改动尽量小的前提下通过。很多团队在红灯刚变绿时就顺手改架构、加抽象或补边界,结果测试虽然绿了,但下一轮红灯又难定位——因为 diff 里混进了与断言无关的代码。

本技能把绿灯当成一条有边界的工程动作:先读失败断言,再写刚好满足测试的实现,并在注释或清单里记下「重构阶段再收」的捷径。

技能如何引导实现

资料用 Django 与 Express 两条线说明同一节奏:

  • 第一刀:函数视图或路由内联逻辑,例如 product_list 直接 Product.objects.all() 并 JsonResponse,或 POST /api/users 里就地 push。
  • 不在此阶段做的:类视图、ListView、中间件、userService / userController 分层——这些属于重构,应在测试全绿且行为稳定后再做。

操作步骤与 SKILL 一致:

  1. 审查失败测试,找出最小修复面(只动失败行为涉及的路径)。
  2. 实现能通过下一个测试的最小更改。
  3. 每次更改后运行测试,确认进度而非「感觉对了」。
  4. 记录重构阶段的捷径或技术债务(例如「列表页先用函数视图,后续再换 ListView」)。

更细的模式与示例见 resources/implementation-playbook.md。

适用边界与安全注意

适合:从红灯进入绿灯、需要刻意保持实现简单、测试驱动下的「先过再优」。

不适合:以设计或性能为目标的重构;测试已通过却要加新需求;需要完整架构重设计——这些应新开一轮 TDD 或单独的重构任务。

安全上两条硬约束:禁止为通过测试而绕过断言(假数据、跳过用例、改测试迁就实现);禁止把改动扩散到与当前失败无关的模块。绿灯阶段的胜利标准是测试诚实通过,而不是 diff 看起来「更专业」。

使用场景

  • 红灯阶段已为 Django 产品列表写好失败测试,需要在一次小改动内让 JSON 列表断言通过
  • Express 新增 `POST /api/users` 的集成测试已红,需先写路由内联逻辑而非立刻拆 service 层
  • 团队约定「先绿后重构」,要在实现同时把类视图、中间件等延后项记成技术债务清单
  • 每次只针对当前失败用例改代码,改完立即跑全量测试确认没有误伤其它行为

适合人员

  • 维护 Django REST 接口、习惯先写测试的后端工程师,希望在绿灯阶段克制过度抽象
  • 在 Node/Express 项目里用集成测试驱动新 API 的全栈或后端开发者
  • 负责 Code Review、需要区分「为过测试的最小实现」与「借机重构」的技术负责人
  • 正在带新人练 TDD 循环的导师,需要统一红灯转绿灯时的实现范围与安全准则