TDD 规范:AI 智能体的测试驱动开发 - Openclaw Skills

作者:互联网

2026-04-16

AI教程

什么是 TDD 规范?

TDD 规范是一种专业的方法论,旨在 AI 编码工作流中强制执行严格的测试驱动开发 (TDD) 实践。通过在编写任何功能代码之前优先创建失败的测试,该技能确保每个功能和 Bug 修复都经过验证、记录且易于维护。它通过将“红-绿-重构”循环作为 Openclaw Skills 用户的标准操作程序,消除了发布未经测试或损坏代码的风险。

该技能对于希望保持高质量代码、防止因 AI 快速生成而产生“面条代码”的开发人员特别有价值。它强制执行一种哲学:代码的编写仅为了满足特定的、经过测试的需求,并遵循 YAGNI(你不会需要它)原则。

下载入口:https://github.com/openclaw/skills/tree/main/skills/kjaylee/tdd-discipline

安装与下载

1. ClawHub CLI

从源直接安装技能的最快方式。

npx clawhub@latest install tdd-discipline

2. 手动安装

将技能文件夹复制到以下位置之一

全局模式 ~/.openclaw/skills/ 工作区 /skills/

优先级:工作区 > 本地 > 内置

3. 提示词安装

将此提示词复制到 OpenClaw 即可自动安装。

请帮我使用 Clawhub 安装 tdd-discipline。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。

TDD 规范 应用场景

  • 按照明确定义的验收标准实现新功能。
  • 通过先编写失败测试重现问题来修复软件 Bug。
  • 修改现有行为,确保不引入破坏性变更。
  • 在保持测试通过状态的同时重构复杂逻辑。
TDD 规范 工作原理
  1. 红色阶段:智能体为尚不存在的特定行为编写一个测试。测试必须有明确的名称并使用实际的代码路径。
  2. 验证:智能体运行测试命令确认失败。必须验证失败信息符合预期,而不是由于语法错误或拼写错误导致的。
  3. 绿色阶段:智能体编写使测试通过所需的绝对最少代码,避免任何额外的逻辑或过早优化。
  4. 重构阶段:智能体清理实现、消除重复并改进命名,同时确保测试套件保持绿色状态。
  5. 重复:针对每一个增量更改重复此循环,直到功能或修复完成。

TDD 规范 配置指南

要将 TDD 规范集成到您的工作流中,请确保您的项目配置了测试运行器。您可以按照以下步骤在 Openclaw Skills 中使用此技能:

# 安装测试运行器(以 TypeScript 的 Jest 为例)
npm install --save-dev jest ts-jest @types/jest

# 在红色和绿色阶段运行特定的测试文件
npm test path/to/your/file.test.ts

TDD 规范 数据架构与分类体系

该技能在 Openclaw Skills 项目中遵循严格的代码和测试组织结构:

组件 描述
测试文件 命名规范遵循 [文件名].test.ts[文件名].spec.js 以区别于源文件。
源代码 极简的实现文件,仅包含与通过的测试映射的代码。
Bug 回退 在 Bug 修复期间创建的测试将被永久存储,以防止在未来构建中出现回退。
元数据 该技能跟踪作者、版本和 TDD 状态,以保持跨会话的规范性。
name: tdd-discipline
description: Test-Driven Development methodology. Use when implementing features or fixing bugs. Write the test first, watch it fail, write minimal code to pass, then refactor. Prevents untested code from shipping.
metadata:
  author: misskim
  version: "1.0"
  origin: Concept from obra/superpowers test-driven-development, condensed for practical use

TDD Discipline

?? ???

RED → GREEN → REFACTOR → ??

RED: ???? ??? ??

  • ??? ??? ???
  • ??? ?? ("rejects empty email" ?, "test1" ?)
  • ?? ?? ?? (mock ???)

??: ?? ?? (??! ???? ??)

npm test path/to/test.test.ts
  • ???? ?????? (??? ?? ??)
  • ?? ???? ???????
  • ?? ??? ??? ?????? (?? ??? ??)

GREEN: ???? ??

  • ???? ???? ?? ??? ??
  • ?? ?? ??, ???? ??
  • YAGNI (You Ain't Gonna Need It)

REFACTOR: ??

  • ?? ??, ?? ??, ?? ??
  • ???? ?? GREEN ??
  • ?? ?? ??

?? ? ??

??? ?? ?? ?????? → ??. ????.
  • "????? ???" ?
  • "??? ??? ????" ?
  • "??? ??" ?

?? ??

??:

  • ? ?? ??
  • ?? ?? (?? ?? ??? ??!)
  • ?? ??

?? (??? ??):

  • ??? ?????
  • ?? ??
  • ??? ??

?? ???

?? ??
"?? ???? ??? ???" ??? ??? ??. ??? 30?
"??? ??? ??" ?? = ?? ?? = ???? ?? ??
"TDD? ??" TDD? ????? ??
"???? ?????" ?? = ?? ??, ??? ??
"X?? ?? ??? ???" ????. ?? ? ? ??? ?? ??

?? ?? ? TDD

  1. ?? ???? ??? ??
  2. RED ?? (???? ??? ???)
  3. ?? ?? ??
  4. GREEN ??
  5. ?? ???? ?? ??

相关推荐