1. 基本信息
| 项目 | 内容 | 数据来源 |
|---|---|---|
| 正式名称 | tdd-guide | 合集仓库子目录名(见下方说明) |
| 所属合集仓库 | alirezarezvani/claude-skills(面向 Claude Code、Codex、Gemini CLI、Cursor 等 10+ 种编码 Agent 的技能/插件合集,涵盖工程、市场、产品、合规等多个领域) | GitHub |
| 作者/维护者 | alirezarezvani(个人开发者) | GitHub |
| 来源链接 | https://github.com/alirezarezvani/claude-skills/tree/main/engineering-team/skills/tdd-guide | — |
| 许可证 | MIT | GitHub API |
| 所属仓库整体 Stars/Forks | 23,879 / 3,352(该数字属整个合集仓库,不代表本技能自身热度,仅供了解仓库整体规模) | GitHub API |
| 最新版本 | 无独立版本号,随仓库滚动更新 | SKILL.md |
| 最近提交(仓库整体) | 2026-08-05 | GitHub API |
| 最近提交(本技能目录) | 2026-05-02(一次仓库级插件结构重整) | GitHub API |
| 安装方式 | 见第十章 | 仓库 README |
2. 功能介绍与亮点
tdd-guide 把“红-绿-重构”循环从一句口号变成一套可执行的工具链,核心能力:
- 测试生成:
test_generator.py读入源代码(TypeScript/JavaScript/Python/Java),按 Jest/Pytest/JUnit/Vitest/Mocha 任一目标框架生成测试桩,覆盖正常路径、错误路径与边界情况 - 覆盖率缺口分析:
coverage_analyzer.py解析 LCOV/JSON/XML 格式的覆盖率报告,按 P0(关键未覆盖错误路径)/P1(核心逻辑分支)/P2(低风险工具函数)三级优先排序,直接给出该先补哪个测试 - 红-绿-重构工作流引导:
tdd_workflow.py逐阶段校验 RED(先写会失败的测试)→GREEN(写最小实现使其通过)→REFACTOR(保持测试全绿的前提下重构) - 测试数据生成:
fixture_generator.py按实体类型批量生成测试夹具与 mock 数据 - 框架互转:
framework_adapter.py可在 Jest/Pytest/JUnit/TestNG/Mocha/Chai 等框架间转换测试代码结构 - 规格驱动测试:内置 spec → acceptance criteria → test 的映射约定,每条验收标准对应一个可追溯的测试用例
- 属性测试与变异测试:分别给出 Hypothesis(Python)/fast-check(TypeScript)的属性测试示例,以及 Stryker/mutmut/PIT 三种语言的变异测试工具与用法,说明“覆盖率 100% 不等于测试质量高”
- 有界自主规则:明确列出 Agent 应“停下来问用户”的场景(需求歧义、安全敏感逻辑如鉴权/支付、单次生成测试超过 50 个)与可放心自主处理的场景(清晰验收标准、纯函数、已有可参照的测试模式),并附一张“能力边界”表格坦诚列出局限(仅擅长单元测试、不能执行测试、不支持 E2E/性能/安全测试)
亮点:①覆盖测试生命周期的多数环节(生成→分析→重构引导→数据准备→跨框架迁移),而非仅停留在方法论层面;②配套文档齐全(SKILL.md、README.md、HOW_TO_USE.md 三份,含大量输入输出示例);③8 个脚本全部为纯标准库 Python 实现,无第三方依赖、无网络调用;④明确标注能力边界,不夸大自身能做到的事。
3. 适用场景
固定分类:工程效率与代码质量
适用于:为已有代码批量生成测试桩、拿到覆盖率报告后不知道该先补哪个测试、按红-绿-重构纪律实现新功能、需要在多个测试框架间迁移测试代码。受益人群:需要给项目补测试但缺乏经验的初中级 Claude Code / Codex 用户,以及希望把“先写测试”变成可重复执行流程(而非仅凭自觉)的团队。
4. 跨 Agent 兼容性
| Agent | 结论 | 依据 |
|---|---|---|
| Claude Code | 原生支持 | 仓库根目录 .claude-plugin/marketplace.json 收录本技能(归入 engineering-skills 插件包),可通过插件市场一条命令安装 |
| Codex | 未验证 | 已抓取材料未提及 Codex 专属安装路径 |
| OpenClaw | 未验证 | 已抓取材料未提及 OpenClaw 专属适配 |
| Hermes Agent | 未验证 | 已抓取材料未提及 Hermes Agent 专属适配 |
补充:SKILL.md 为纯 Markdown + 独立 Python 脚本结构,理论上任何支持 Markdown 系统提示词与本地脚本执行的 Agent 均可接入,但以上结论仅基于已抓取材料给出,未验证的渠道不代表不可用。
5. 推荐理由
多数 TDD 相关技能停留在“提醒 Agent 先写测试”的方法论层面,tdd-guide 的差异化在于把测试生命周期的具体动作变成了可直接调用的脚本:给一段源代码就能生成测试桩,给一份覆盖率报告就能按优先级排出该先补哪里,还提供跨框架迁移与属性/变异测试的进阶手法。对不熟悉测试工具链、又不想从头搭建的初中级用户,这是一套能直接跑起来的工具集,而不只是一份写作规范。
6. 评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 6 | 作者为个人开发者,未发现独立第三方评测或讨论;skills.sh 显示约 981 次安装,但属单一来源 |
| 可用性 | 8 | 无需任何配置或凭据、复制即用;三份文档(SKILL.md/README.md/HOW_TO_USE.md)含大量输入输出示例;本技能目录最近一次改动为 2026-05-02 |
| 安全性 | 9 | 见下方安全检查清单 |
| 综合评分 | 7.7 | 三项均值 |
安全检查清单:
| 检查项 | 结果 |
|---|---|
| ① Shell 命令执行及权限范围 | 无——8 个脚本均为独立 Python 程序,本地读写用户指定的源码/报告文件,不执行任意 shell 命令 |
| ② 运行时联网外发数据 | 无——全部脚本仅使用标准库(json、re、xml.etree、typing、enum、random),未发现任何网络请求 |
| ③ API Key/凭据要求 | 无需任何凭据 |
| ④ 可疑指令/Prompt Injection 迹象 | 未发现——已完整抓取 SKILL.md 全文与全部 8 个脚本源码,未见混淆代码或隐蔽外发逻辑 |
| ⑤ 作者/组织信誉 | 个人开发者,仓库长期活跃维护(近日仍有提交),未发现刷星或造假迹象 |
| ⑥ License 是否明确 | MIT,明确 |
| ⑦ 最近维护时间 | 仓库整体近日仍有提交;本技能目录最近改动约 3 个月前 |
7. 跟同类 Skills 相比的优势
| 维度 | tdd-guide(本推荐) | test-driven-development(addyosmani/agent-skills) | tdd(mattpocock/skills) |
|---|---|---|---|
| 定位 | 工具型:脚本生成测试、解析覆盖率、跨框架转换 | 方法论型:把红-绿-重构、Prove-It Pattern、测试金字塔配比固化为 Agent 行为准则,纯 Markdown 无脚本 | 方法论型:聚焦“seam”(可测试的公共边界)识别、反模式清单与循环纪律,纯 Markdown 无脚本 |
| 具体产出 | 可直接运行生成测试代码文件、P0/P1/P2 覆盖率缺口清单 | 指导 Agent 如何写测试、何时写、写成什么风格,不直接生成代码 | 指导 Agent 确认测试边界与循环节奏,不直接生成代码 |
| 支持框架 | Jest/Pytest/JUnit/Vitest/Mocha 五种,另提供跨框架转换 | 不限定具体框架,聚焦通用原则与 Chrome DevTools 前端验证流程 | 不限定具体框架,附带独立的 mocking/tests 参考文档 |
| 进阶能力 | 附带属性测试(Hypothesis/fast-check)与变异测试(Stryker/mutmut/PIT)工具指南 | 无同等篇幅的进阶测试技巧 | 无同等篇幅的进阶测试技巧 |
三者并非互斥:偏方法论的两个技能负责“该不该写测试、写在哪个边界、按什么纪律写”,tdd-guide 负责“测试代码本身怎么批量生成、覆盖率报告怎么读”,可根据缺口按需搭配安装。
8. 用户评价
该技能目前在第三方平台尚无具名用户评价;已知的第三方引用(如技能聚合站点)仅为目录收录,未见附带使用体验或评测内容。
9. 其他补充
同一 engineering-team/skills/ 目录下还有 senior-qa(更宏观的测试策略)、code-reviewer(审查已生成测试的断言质量)、senior-fullstack(项目脚手架自带的测试基础设施)等技能,SKILL.md 中已显式列出与这些技能的关系,可配合使用。
10. 安装使用方式
渠道一:手动复制
git clone https://github.com/alirezarezvani/claude-skills
cp -r claude-skills/engineering-team/skills/tdd-guide ~/.claude/skills/tdd-guide
渠道二:仓库自带插件市场
仓库根目录提供 marketplace.json 配置,本技能归属 engineering-skills 插件包(随 32 个工程类技能一并安装),可按仓库 README 的插件安装说明接入 Claude Code。
渠道三:agent-skills-cli
npx agent-skills-cli add alirezarezvani/claude-skills/engineering-team/tdd-guide
安装后注意事项:无需重启客户端;在对话中提及“write tests”“improve test coverage”“practice TDD”等触发短语即可加载技能。运行覆盖率分析前需自备 LCOV/JSON/XML 格式的报告文件;生成的测试仅为脚手架,复杂业务逻辑仍需人工复核。
11. 注意事项
- 已知限制:脚本本身不执行测试、不测量运行时行为,只做静态生成与解析;语言支持聚焦 TypeScript/JavaScript/Python/Java,其他语言需自行改造;覆盖率报告格式仅支持 LCOV/JSON/XML。
- 兼容性问题:仅确认 Claude Code 有明确安装路径,Codex、OpenClaw、Hermes Agent 均未验证。
- 潜在风险:生成的测试代码需要人工复核,尤其是安全敏感逻辑(鉴权、支付等)——技能本身已在 SKILL.md 中明确要求此类场景应停下来询问用户而非自主生成,使用时建议遵循这一边界。