Turns out I was wrong about TDD
a day ago
- 作者之前依赖Docker和TestContainers进行繁重的端到端测试,过程缓慢且成本高昂。
- 作者曾对TDD(测试驱动开发)持怀疑态度,认为它导致代码为可测试性优化,而非产品成果。
- 编码代理(大语言模型)改变了经济模式:等待缓慢的端到端测试成为瓶颈,且代理难以处理失败输出。
- 新方法:代理在实施前提出测试计划;侧重单元测试和集成测试,实现更快的本地运行,而端到端测试在CI中执行。
- 当发现缺陷时,代理解释测试为何遗漏,并补充针对性的边缘情况测试。
- 优势:测试编码化行为,通过优先检查测试文件简化代码审查,且代理的懈怠能被快速发现。
- 结论:TDD一直正确,但只有借助AI代理提供的廉价、充裕劳动力才变得可行。