工程方法 · Lesson 06
Test-Driven Development:让测试先成为约束
用失败测试、最小实现和回归检查把 Agent 的生成过程约束在可验证的行为上。
完成后你能:
- 理解 Red-Green-Refactor 在 Agent 协作中的用法
- 把需求验收翻译成测试和可观察结果
- 避免把测试写成迎合错误实现的装饰
Test-Driven Development(TDD)不是让 Agent 多写测试,而是先用一个失败的、可运行的行为约束实现,再用最小修改让它通过,最后在不改变行为的前提下重构。
可借鉴的 TDD Skill
Superpowers 的 test-driven-development Skill 把 RED → GREEN → REFACTOR 固定成执行顺序,并附带测试反模式说明。它适合学习如何让 Agent 先写失败测试、观察失败,再实现最小改动;实际项目仍需替换成自己的测试命令和验收数据。
Red → Green → Refactor
- Red:写一个表达需求的失败测试;
- Green:让 Agent 做最小实现,只处理当前失败;
- Refactor:测试保持通过,再改善结构;
- 回归:运行受影响区域和完整交付检查。
需求:搜索结果链接必须保留 /vibe_coding_guide/ 子路径。
Red:增加点击结果后的 URL 断言。
Green:修正统一的 lessonPath 辅助函数。
Refactor:删除重复的路径拼接逻辑。
回归:npm test + 浏览器搜索路径测试。
Agent 写测试时,人要确认断言描述的是用户行为,而不是当前实现细节;失败真的能阻止错误实现;边界、错误路径、权限和敏感数据都得到考虑。
TDD 适合稳定、可重复的代码行为;Agent Evals 还要检查多轮工具调用、最终环境状态和轨迹。测试约束局部行为,评测检查完整任务。
完成检查