多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

tdd-workflows-tdd-cycle - SKILL

tdd-workflows-tdd-cycle - SKILL name: tdd-workflows-tdd-cycledescription: “Use when working with tdd workflows tdd cycle”risk: criticalsource: communitydate_added: “2026-02-27”何时使用此技能处理 tdd workflows tdd cycle 任务或工作流时需要关于 tdd workflows tdd cycle 的指导、最佳实践或检查清单时何时不使用此技能任务与 tdd workflows tdd cycle 无关时你需要此范围之外的领域或工具时说明澄清目标、约束和所需输入。应用相关最佳实践并验证结果。提供可操作的步骤和验证方法。如果需要详细示例请打开resources/implementation-playbook.md。执行全面的测试驱动开发TDD工作流严格遵守红-绿-重构纪律[扩展思考此工作流通过协调代理编排强制执行测试优先开发。TDD 循环的每个阶段都通过先失败验证、增量实现和持续重构来严格强制执行。该工作流支持单一测试和测试套件两种方法并带有可配置的覆盖率阈值。]配置覆盖率阈值最低行覆盖率80%最低分支覆盖率75%关键路径覆盖率100%重构触发条件圈复杂度 10方法长度 20 行类长度 200 行重复代码块 3 行阶段 1测试规格与设计1. 需求分析使用 Task 工具subagent_type“comprehensive-review::architect-review”提示词“分析需求$ARGUMENTS。定义验收标准识别边界情况并创建测试场景。输出一份全面的测试规格。”输出测试规格、验收标准、边界情况矩阵验证确保所有需求都有对应的测试场景2. 测试架构设计使用 Task 工具subagent_type“unit-testing::test-automator”提示词“基于测试规格为$ARGUMENTS 设计测试架构。定义测试结构、夹具、模拟和测试数据策略。确保可测试性和可维护性。”输出测试架构、夹具设计、模拟策略验证架构支持隔离、快速、可靠的测试阶段 2RED - 编写失败的测试3. 编写单元测试失败使用 Task 工具subagent_type“unit-testing::test-automator”提示词“为$ARGUMENTS 编写失败的单元测试。测试最初必须失败。包含边界情况、错误场景和正常路径。不要实现生产代码。”输出失败的单元测试、测试文档关键验证所有测试以预期的错误消息失败4. 验证测试失败使用 Task 工具subagent_type“tdd-workflows::code-reviewer”提示词“验证$ARGUMENTS 的所有测试是否正确失败。确保失败的原因正确缺少实现而非测试错误。确认没有误报。”输出测试失败验证报告关卡在所有测试适当失败之前不要继续阶段 3GREEN - 让测试通过5. 最小实现使用 Task 工具subagent_type“backend-development::backend-architect”提示词“为$ARGUMENTS 实现最少的代码以使测试通过。只专注于让测试变绿。不要添加额外功能或优化。保持简单。”输出最小可用实现约束代码不超过通过测试所需的范围6. 验证测试成功使用 Task 工具subagent_type“unit-testing::test-automator”提示词“运行$ARGUMENTS 的所有测试并验证它们通过。检查测试覆盖率指标。确保没有测试被意外破坏。”输出测试执行报告、覆盖率指标关卡在继续之前所有测试必须通过阶段 4REFACTOR - 改进代码质量7. 代码重构使用 Task 工具subagent_type“tdd-workflows::code-reviewer”提示词“重构$ARGUMENTS 的实现同时保持测试绿色。应用 SOLID 原则、消除重复、改进命名并优化性能。每次重构后运行测试。”输出重构后的代码、重构报告约束测试必须始终保持绿色8. 测试重构使用 Task 工具subagent_type“unit-testing::test-automator”提示词“重构$ARGUMENTS 的测试。消除测试重复、改进测试名称、提取公共夹具并增强测试可读性。确保测试仍然提供相同的覆盖率。”输出重构后的测试、改进的测试结构验证覆盖率指标不变或提高阶段 5集成与系统测试9. 编写集成测试先失败使用 Task 工具subagent_type“unit-testing::test-automator”提示词“为$ARGUMENTS 编写失败的集成测试。测试组件交互、API 契约和数据流。测试最初必须失败。”输出失败的集成测试验证测试因缺少集成逻辑而失败10. 实现集成使用 Task 工具subagent_type“backend-development::backend-architect”提示词“为$ARGUMENTS 实现集成代码以使集成测试通过。专注于组件交互和数据流。”输出集成实现验证所有集成测试通过阶段 6持续改进循环11. 性能与边界情况测试使用 Task 工具subagent_type“unit-testing::test-automator”提示词“为$ARGUMENTS 添加性能测试和额外的边界情况测试。包括压力测试、边界测试和错误恢复测试。”输出扩展的测试套件指标提高测试覆盖率和场景覆盖率12. 最终代码审查使用 Task 工具subagent_type“comprehensive-review::architect-review”提示词“对$ARGUMENTS 执行全面审查。验证 TDD 流程是否被遵循检查代码质量、测试质量和覆盖率。提出改进建议。”输出审查报告、改进建议行动在保持测试绿色的同时实施关键建议增量开发模式用于逐测试开发编写一个失败的测试只让那一个测试通过如有需要则重构对下一个测试重复通过添加--incremental标志使用此方法一次专注于一个测试。测试套件模式用于全面测试套件开发为一个功能/模块编写所有测试失败实现代码使所有测试通过重构整个模块添加集成测试通过添加--suite标志使用此方法进行批量测试开发。验证检查点RED 阶段验证所有测试在实现之前编写所有测试以有意义的错误消息失败测试失败是因为缺少实现没有测试意外通过GREEN 阶段验证所有测试通过没有超出测试要求的额外代码覆盖率满足最低阈值没有为使其通过而修改测试REFACTOR 阶段验证重构后所有测试仍然通过代码复杂度降低重复被消除性能提高或保持测试可读性提高覆盖率报告在每个阶段后生成覆盖率报告行覆盖率分支覆盖率函数覆盖率语句覆盖率失败恢复如果 TDD 纪律被破坏立即停止识别哪个阶段被违反回滚到最后一个有效状态从正确的阶段恢复记录学到的经验教训TDD 度量跟踪跟踪并报告每个阶段的时间红/绿/重构测试-实现循环次数覆盖率进展重构频率缺陷逃逸率要避免的反模式在测试之前编写实现编写已经通过的测试跳过重构阶段在无测试的情况下编写多个功能修改测试使其通过忽略失败的测试在实现之后编写测试成功标准100% 的代码是测试优先编写的所有测试持续通过覆盖率超过阈值代码复杂度在限制范围内覆盖的代码零缺陷清晰的测试文档快速的测试执行单元测试 5 秒注意事项强制执行严格的红-绿-重构纪律每个阶段必须完成才能进入下一阶段测试就是规格说明如果测试难以编写说明设计需要改进重构不是可选的保持测试执行快速测试应该独立且隔离针对以下内容的 TDD 实现$ARGUMENTS局限性仅在任务明确匹配上述范围时使用此技能。不要将输出视为环境特定验证、测试或专家审查的替代品。如果缺少所需的输入、权限、安全边界或成功标准请停下来询问澄清。
返回列表