tdd-workflows-tdd-red
为TDD红阶段编写失败测试,以定义预期行为及边界情况。
作者
分类
开发工具安装
热度:7
下载并解压到你的 skills 目录
复制命令,发送给 OpenClaw 自动安装:
下载并安装这个技能 https://openskills.cc/api/download?slug=sickn33-skills-tdd-workflows-tdd-red&locale=zh&source=copy
TDD Red Phase - 测试驱动开发的红色阶段技能
技能概述
在编写实现代码之前,先生成定义预期行为的失败测试,确保开发目标清晰且测试覆盖全面。
适用场景
1. 新功能开发
当需要为新功能编写代码时,使用此技能可以先行定义预期行为,包括正常流程、异常处理和边界条件,确保开发方向明确。
2. 重构前的测试保护
在修改现有代码前,先为当前行为编写测试用例,建立安全网,防止重构过程中破坏已有功能。
3. API 接口设计
为 REST API、GraphQL 或其他接口生成契约测试,明确定义输入输出规范、错误码和异常场景。
核心功能
1. 多框架测试生成
支持主流测试框架和语言,包括 Python (pytest)、JavaScript/TypeScript (Jest/Vitest)、Go (table-driven tests)、Ruby (RSpec) 和 Java (JUnit),自动生成符合各框架最佳实践的测试代码结构。
2. 全面的行为覆盖
不仅仅测试快乐路径,还系统性地覆盖边缘情况,包括空值、边界值、特殊字符、并发访问、网络异常等场景,确保测试的完整性和健壮性。
3. 可验证的失败设计
生成的测试会因缺少实现代码而正确失败,而非因语法错误或配置问题。每个测试都包含清晰的错误诊断信息,帮助快速定位问题根源。
常见问题
TDD 红色阶段是什么意思?
TDD(测试驱动开发)分为红-绿-重构三个阶段。红色阶段指在编写任何实现代码之前,先编写会失败的测试,目的是明确定义预期行为。只有测试因为功能未实现而失败,才能进入实现(绿色)阶段。
为什么测试必须在开始时失败?
这是 TDD 的核心原则。如果测试一开始就通过,说明测试没有真正验证新行为,或者测试本身有问题。正确的失败证明测试在检查实际缺失的功能,后续通过测试才能确认实现正确。
测试失败是代码问题还是测试问题?
使用此技能时,测试应该因"缺少实现"而失败,这是正确状态。如果失败原因是语法错误、导入失败或配置问题,则需要检查测试代码本身。生成的测试会包含诊断信息,帮助区分这两种情况。
边缘情况测试包括哪些场景?
边缘情况通常包括:空值(null、undefined、空字符串/数组)、边界值(最小/最大值、单元素)、特殊字符(Unicode、空白符)、无效状态转换、并发冲突、超时和权限错误等。此技能会根据具体场景自动识别并生成相应测试。
TDD 红色阶段要写多少测试?
取决于功能的复杂度和关键程度。一般来说,至少覆盖:正常路径、主要错误路径、明显的边缘情况。此技能会系统性地识别需要覆盖的场景,避免遗漏重要的边界条件。