关于 tdd
TDD 是一种测试技能,要求在预先批准的边界上以小步红绿循环实现行为。它规定期望值须来自独立来源,并记录边界类别,报告测试证据或缺失边界。
主要功能
- 01每轮编写一个测试并实现
- 02只在批准的边界编写测试
- 03期望值取自独立来源
- 04按边界类别进行替换
- 05修复缺陷前先编写失败测试
- 06报告边界列表和红绿证据
适用场景
- 01依据规格逐步实现行为
- 02修改实现前复现缺陷
- 03发现因缺少测试边界而受阻的行为
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ yeachan-heo/ oh-my-claudecode --skill tdd安装后在 Claude Code 中输入/tdd确认已加载。
详细介绍
TDD
在事先约定的接缝处,以小步进行红-绿循环。在启动运行中,接缝列表是 C2 批准的输出;启动之外,必须在第一个测试编写之前与用户约定接缝——未经任何人批准的接缝,不得编写测试。
循环
一个测试 → 一个实现 → 重复:
- 在下一个接缝处编写测试。运行测试。确认它因预期的原因失败——无法失败的测试就不是测试。
- 实现最小改动,使测试通过。
- 重复。每个测试都是一颗示踪弹:沿着行为路径走得窄而完整,而不是孤立地完成某一层。
规则
- 预期值必须来自独立的事实来源——规范中的一行内容、经过演算的示例或有文档记录的输出。绝不能来自被测实现:断言代码碰巧做了什么的测试,只是镜子,不是检查。
- 只在接缝声明的边界类别处进行替换——进程内、可在本地替换、自有远程端口或真正的外部依赖;C2 会为每个接缝记录其类别。不得在测试所覆盖的边界内部进行替换。
- 重构不属于这个循环。它属于审查阶段,由修复工作者负责。不要在红-绿循环中途重构。
- 修复 Bug 时,先编写能够复现它的失败测试——先复现再推理论,这是调试者的准则。
- 提出接缝时,用一行说明它能捕获什么、会放过什么——无法估量代价的接缝选择只是猜测,不是决策。
不适用任何接缝时
如果无法在任何已批准的接缝处测试该行为,就停止并说明情况:将缺失的接缝报告为一项发现(它会进入 architecture-survey 和 refit),而不是自行编造接缝或通过内部实现进行测试。
输出
- 使用的接缝列表,包括边界类别以及每个接缝的捕获/遗漏说明
- 红/绿证据——失败运行和通过运行
- 任何接缝缺失发现
评论
支持 Markdown