Skip to content

Everything Claude Code 的 tdd-workflow Skill 是实现生产级 AI 辅助开发的核心测试驱动引擎。它强制在新功能、Bug 修复和重构等全流程中先写测试、后写实现,覆盖单元、集成、E2E 各层测试,并自动校验 80%+ 覆盖率和 Git 检查点。通过标准化 TDD 步骤、覆盖率门槛和自动化验证,极大提升代码质量、可维护性和交付安全,适用于所有使用 Claude Code、Codex、Cursor 等 AI 编程助手的开发者团队。

Everything Claude Code TDD Workflow Skill:测试先行强制 80%+ 覆盖率的单元/集成/E2E 全周期 TDD

在 AI 编程助手驱动的现代开发流程中,如何确保自动生成代码的质量、可维护性与可回归性?Everything Claude Code 的 tdd-workflow Skill 正是为此设计:它将测试驱动开发(TDD)原则深度集成到 AI 代码生成与修改的每一个环节,强制实现“测试先行、覆盖率达标、全流程可追溯”的工程标准。

本 Skill 适用于使用 Claude Code、Codex、Cursor 等 AI 编程插件的开发者,尤其适合追求生产级质量、团队协作和持续交付的场景。它与 Everything Claude Code 完全指南 所描述的 Agent/Skill/Hook/Rule 体系深度协作,是实现自动化、标准化、高覆盖率 TDD 的关键基石。

tdd-workflow Skill 解决了什么问题?

传统 AI 辅助编程容易出现以下痛点:

  • 只生成实现代码,测试覆盖率低,缺乏回归保障
  • 测试与实现混杂,流程不可追溯,Bug 修复无证据链
  • 缺少覆盖率门槛,E2E 测试和集成测试常被忽视
  • 团队成员难以复现问题,代码变更风险高

启用 tdd-workflow Skill 后,AI 会自动引导开发者:

  • 明确每次变更的用户旅程(User Journey)和测试用例
  • 强制先写测试(RED),再实现(GREEN),最后重构(REFACTOR)
  • 覆盖单元、集成、E2E 三层测试,自动校验 80%+ 覆盖率
  • 通过 Git 检查点(Checkpoint Commit)记录每一阶段,便于回溯和审计
  • 自动化 Mock 外部依赖,确保测试隔离与可重复执行

触发条件:何时激活 tdd-workflow Skill?

  • 开发新功能或 API 端点
  • 修复线上/线下 Bug
  • 进行代码重构或架构调整
  • 新增组件、服务、数据库操作等
  • 任何需要保证变更安全、可回归的场景

只要涉及业务代码、接口、核心逻辑的修改,tdd-workflow Skill 都会自动介入,确保流程标准化。

全流程操作指南(Step by Step)

Step 1:明确用户旅程(User Journey)

每次变更都要先描述用户视角下的目标。例如:

作为用户,我希望可以语义搜索市场,以便即使没有精确关键词也能找到相关市场。

Step 2:生成全面测试用例

AI 会自动为每个用户旅程生成单元、集成、E2E 测试用例,覆盖正常流程、边界条件、异常场景:

typescript
describe('Semantic Search', () => {
  it('returns relevant markets for query', async () => { /* ... */ })
  it('handles empty query gracefully', async () => { /* ... */ })
  it('falls back to substring search when Redis unavailable', async () => { /* ... */ })
  it('sorts results by similarity score', async () => { /* ... */ })
})

Step 3:运行测试(RED 阶段)

此时测试应该失败,证明用例已被执行且覆盖到待开发/修复的业务路径:

bash
npm test
# 所有新测试应 RED(失败),未实现代码不得提前编写

注意:只有测试已被实际编译并执行,且因业务未实现或 Bug 导致失败,才算有效的 RED。此阶段必须在 Git 当前分支打 checkpoint commit,例如:

bash
git add .
git commit -m "test: add reproducer for <功能或 Bug>"

Step 4:实现最小代码(GREEN 阶段)

根据测试驱动,编写最少量的业务代码以让所有新测试通过:

typescript
export async function searchMarkets(query: string) {
  // 实现逻辑
}

此时暂不提交,待全部测试通过后再打 checkpoint。

Step 5:再次运行测试(GREEN 验证)

bash
npm test
# 所有相关测试应全部通过

确认测试通过后,立即提交 GREEN 检查点:

bash
git add .
git commit -m "fix: <功能或 Bug>"

Step 6:重构与优化

在测试通过的基础上进行代码重构、命名优化、性能提升等,确保测试持续为 GREEN:

bash
git add .
git commit -m "refactor: clean up after <功能或 Bug> implementation"

Step 7:校验覆盖率

强制要求 80%+ 的全局覆盖率(包括单元、集成、E2E):

bash
npm run test:coverage
# 检查覆盖率报告,未达标需补充测试

可在 jest.config.js 或等效配置中设定覆盖率阈值:

json
{
  "jest": {
    "coverageThresholds": {
      "global": {
        "branches": 80,
        "functions": 80,
        "lines": 80,
        "statements": 80
      }
    }
  }
}

Step 8:持续集成与自动化

  • 开启 npm test -- --watch 实时测试
  • 配置 pre-commit 钩子强制测试与 Lint
  • 在 CI/CD(如 GitHub Actions)中自动执行测试与上传覆盖率报告
yaml
- name: Run Tests
  run: npm test -- --coverage
- name: Upload Coverage
  uses: codecov/codecov-action@v3

输出示例

  • RED 阶段 commit: test: add reproducer for semantic search
  • GREEN 阶段 commit: fix: semantic search
  • REFACTOR 阶段 commit: refactor: clean up after semantic search implementation
  • 覆盖率报告:Statements : 85.2% (threshold 80%)

常见配套 Agent 与 Skill 协作

与其他 Skill 的协作关系

tdd-workflow Skill 是 Everything Claude Code 完全指南 体系下的基础能力,常与代码审查、CI/CD、Hook 自动化、Rules 规则集等协同,保证每次变更都可回溯、可验证、可持续演进。

最佳实践与注意事项

  • 测试不是可选项,任何业务变更都必须经过 RED-GREEN-REFACTOR 流程
  • 覆盖率门槛不可降低,80%+ 是底线,核心路径建议 90%+
  • 每步都需在当前分支打 checkpoint commit,避免历史污染与证据链丢失
  • Mock 外部依赖,如 Supabase、Redis、OpenAI 等,确保测试隔离
  • 测试用例关注用户可见行为,不测内部实现细节
  • 保持测试独立性,避免测试间依赖
  • 用语义选择器写 E2E 测试,提升稳定性

FAQ

Q: tdd-workflow Skill 会强制所有变更都先写测试吗?
A: 是的,无论新功能、Bug 修复还是重构,AI 都会引导先写测试、后写实现,确保每次变更可验证、可追溯。

Q: 如何保证 80%+ 的覆盖率?
A: Skill 会自动生成多层测试用例,并在每次提交前后运行覆盖率校验,未达标时阻断流程并提示补测。

Q: 支持哪些测试类型?
A: 覆盖单元测试、集成测试(如 API/数据库)、E2E 测试(如 Playwright),并支持外部依赖 Mock,适配主流前后端技术栈。