技能 tdd-workflows-tdd-red
🧪

tdd-workflows-tdd-red

安全

为 TDD 红色阶段生成失败测试

在没有明确测试定义的情况下开始 TDD 会导致覆盖不完整。此技能在实现开始前创建全面的失败测试来定义预期行为。

支持: Claude Codex Code(CC)
🥉 74 青铜
1

下载技能 ZIP

2

在 Claude 中上传

前往 设置 → 功能 → 技能 → 上传技能

3

开启并开始使用

测试它

正在使用“tdd-workflows-tdd-red”。 使用 Jest 为密码验证函数生成失败测试

预期结果:

包含 describe 块、模拟设置和测试用例的完整测试文件,涵盖最小长度、特殊字符要求和边界情况。每个测试都期望特定的验证失败,一旦实现完成这些测试将变为通过。

正在使用“tdd-workflows-tdd-red”。 使用 pytest 和 Hypothesis 为字符串反转函数创建属性测试

预期结果:

参数化测试函数验证反转后的字符串在再次反转后等于原始字符串,保持字符数,并正确处理 Unicode 字符。

安全审计

安全
v1 • 2/25/2026

All static analysis findings are false positives. The detected patterns are code examples in markdown documentation, not executable code. Lines 73-75 show JavaScript mock function syntax (jest.fn), lines 84-85 show Go t.Parallel() method calls, line 88 shows Ruby RSpec let blocks, and lines 134+ contain TypeScript test examples in markdown code blocks. No actual shell execution, cryptographic operations, or system reconnaissance code exists in this skill.

1
已扫描文件
167
分析行数
0
发现项
1
审计总数
未发现安全问题
审计者: claude

质量评分

38
架构
100
可维护性
87
内容
50
社区
100
安全
91
规范符合性

你能构建什么

新功能 TDD 工作流

在实现新的身份验证服务之前生成全面的失败测试,涵盖有效凭证、无效输入和边界情况。

API 契约测试

创建契约测试,在构建端点实现之前定义预期的 API 请求和响应格式。

遗留代码测试覆盖

通过生成记录当前行为的测试,为现有代码添加缺失的测试覆盖,然后再进行重构。

试试这些提示

基本单元测试生成
为验证电子邮件地址的函数生成失败的单元测试。使用 pytest 框架。涵盖有效电子邮件、无效格式、空字符串和空输入。
服务层测试
为 UserService 创建失败测试,包含方法:createUser、getUserById、deleteUser。使用 Jest 并模拟 UserRepository。包括重复电子邮件和用户缺失的错误处理。
属性测试
使用 fast-check 为排序函数生成属性测试。验证输出始终已排序、保持原始长度,并保留所有输入元素。
集成测试套件
为支付处理工作流创建失败的集成测试,包括:成功支付、卡被拒绝、余额不足和网络超时场景。使用 RSpec 和共享示例。

最佳实践

  • 使用 should_X_when_Y 约定命名测试,以清晰记录预期行为
  • 保持测试隔离,测试用例之间无依赖关系
  • 验证测试因正确的原因(缺失的行为)失败,而不是设置错误

避免

  • 测试实现细节而不是可观察的行为
  • 创建立即通过而无需实现功能的测试
  • 使用复杂的设置代码掩盖测试意图

常见问题

什么是 TDD 红色阶段?
红色阶段是测试驱动开发的第一步,在编写任何实现代码之前,您需要编写失败的测试来定义预期行为。
如何验证我的测试因正确的原因失败?
单独运行每个测试,并检查失败消息是否指示缺失的功能或断言失败,而不是语法错误、导入问题或设置问题。
支持哪些测试框架?
此技能支持 JavaScript/TypeScript 的 Jest 和 Vitest、Python 的 pytest、Go 内置测试包,以及 Ruby 的 RSpec。
是否应该模拟外部依赖?
是的,模拟所有外部依赖,包括数据库、API 和文件系统,以确保测试快速、可靠,并且是真正的隔离单元测试。
应该包含多少边界情况?
涵盖空/空输入、边界值、特殊字符、错误条件以及与您的用例相关的任何领域特定边界情况。
生成失败测试后我该做什么?
进入绿色阶段,实现使所有测试通过所需的最小代码,然后在保持测试通过的情况下进行重构。

开发者详情

文件结构

📄 SKILL.md