
关于
TDD 工作流循环技能,指导完整的红-绿-重构测试驱动开发周期。
name: tdd-workflows-tdd-cycle description: "用于测试驱动开发工作流的TDD循环" risk: unknown source: community date_added: "2026-02-27"
何时使用此技能
- 处理TDD工作流TDD循环任务或工作流时
- 需要TDD工作流TDD循环的指导、最佳实践或检查清单时
不要在以下情况使用此技能
- 任务与TDD工作流TDD循环无关时
- 你需要此范围之外的不同领域或工具时
说明
- 明确目标、约束和所需输入。
- 应用相关最佳实践并验证结果。
- 提供可操作的步骤和验证。
- 如果需要详细示例,打开
resources/implementation-playbook.md。
执行严格遵循红-绿-重构纪律的全面测试驱动开发(TDD)工作流:
[扩展思考:此工作流通过协调的代理编排强制执行测试优先开发。TDD循环的每个阶段都通过失败优先验证、增量实现和持续重构严格执行。该工作流支持单测试和测试套件方法,具有可配置的覆盖率阈值。]
配置
覆盖率阈值
- 最低行覆盖率:80%
- 最低分支覆盖率:75%
- 关键路径覆盖率:100%
重构触发条件
- 圈复杂度 > 10
- 方法长度 > 20行
- 类长度 > 200行
- 重复代码块 > 3行
第一阶段:测试规范和设计
1. 需求分析
- 使用Task工具,subagent_type="comprehensive-review::architect-review"
- 提示:"分析以下需求:$ARGUMENTS。定义验收标准,识别边界情况,并创建测试场景。输出全面的测试规范。"
- 输出:测试规范、验收标准、边界情况矩阵
- 验证:确保所有需求都有对应的测试场景
2. 测试架构设计
- 使用Task工具,subagent_type="unit-testing::test-automator"
- 提示:"为以下内容设计测试架构:$ARGUMENTS,基于测试规范。定义测试结构、固定装置、模拟和测试数据策略。确保可测试性和可维护性。"
- 输出:测试架构、固定装置设计、模拟策略
- 验证:架构支持隔离的、快速的、可靠的测试
第二阶段:红色 - 编写失败的测试
3. 编写单元测试(失败的)
- 使用Task工具,subagent_type="unit-testing::test-automator"
- 提示:"为以下内容编写失败的单元测试:$ARGUMENTS。测试必须初始失败。包括边界情况、错误场景和正常路径。不要实现生产代码。"
- 输出:失败的单元测试、测试文档
- 关键:验证所有测试以预期的错误消息失败
4. 验证测试失败
- 使用Task工具,subagent_type="tdd-workflows::code-reviewer"
- 提示:"验证以下内容的所有测试:$ARGUMENTS 正确失败。确保失败原因正确(缺少实现,而非测试错误)。确认没有误报。"
- 输出:测试失败验证报告
- 门控:在所有测试适当失败之前不要继续
第三阶段:绿色 - 使测试通过
5. 最小实现
- 使用Task工具,subagent_type="backend-development::backend-architect"
- 提示:"实现最小代码以使以下测试通过:$ARGUMENTS。只关注使测试变绿。不要添加额外功能或优化。保持简单。"
- 输出:最小可工作实现
- 约束:不超出通过测试所需的代码
6. 验证测试成功
- 使用Task工具,subagent_type="unit-testing::test-automator"
- 提示:"运行以下内容的所有测试:$ARGUMENTS 并验证它们通过。检查测试覆盖率指标。确保没有测试被意外破坏。"
- 输出:测试执行报告、覆盖率指标
- 门控:所有测试必须在继续之前通过
第四阶段:重构 - 提高代码质量
7. 代码重构
- 使用Task工具,subagent_type="tdd-workflows::code-reviewer"
- 提示:"重构以下实现:$ARGUMENTS,同时保持测试为绿色。应用SOLID原则,消除重复,改进命名,优化性能。每次重构后运行测试。"
- 输出:重构后的代码、重构报告
- 约束:测试必须在整个过程中保持绿色
8. 测试重构
- 使用Task工具,subagent_type="unit-testing::test-automator"
- 提示:"重构以下测试:$ARGUMENTS。消除测试重复,改进测试名称,提取公共固定装置,增强测试可读性。确保测试仍提供相同覆盖率。"
- 输出:重构后的测试、改进的测试结构
- 验证:覆盖率指标不变或改善
第五阶段:集成和系统测试
9. 编写集成测试(先失败)
- 使用Task工具,subagent_type="unit-testing::test-automator"
- 提示:"为以下内容编写失败的集成测试:$ARGUMENTS。测试组件交互、API契约和数据流。测试必须初始失败。"
- 输出:失败的集成测试
兼容工具
Claude CodeCursor
标签
AI与机器学习