第 09 篇

红灯/绿灯测试驱动开发

Simon Willison 介绍如何用一句简短的红灯/绿灯 TDD 提示,让编程智能体先写测试、确认失败,再实现代码直到测试通过。

Hex4C59 2 分钟阅读

译文信息

  • 原文:Red/green TDD
  • 作者:Simon Willison
  • 中文翻译与整理:Hex4C59(AI 辅助)
  • 翻译整理:2026-10-11

本文为非官方中文译文,依据提供的原文正文翻译。测试方法和模型能力方面的判断均为原作者的观点;示例提示词用于说明原文做法,译者未执行。

「使用红灯/绿灯 TDD」是一条简短得令人满意的指令,可以让编程智能体取得更好的结果。

TDD 是 Test Driven Development 的缩写,意为测试驱动开发。这是一种编程方式:确保写出的每一部分代码都有相应的自动化测试,证明它能正常工作。

最严格的 TDD 形式是测试先行。先编写自动化测试,确认测试失败,然后不断改进实现,直到测试通过。

事实证明,这种方式与编程智能体非常契合。使用编程智能体的一大风险,是它们可能写出无法正常工作的代码,或者写出不必要、根本不会被使用的代码,也可能两种问题同时出现。

测试先行有助于防范这两种常见错误,还能建立一套可靠的自动化测试,防止未来的改动破坏已有功能。随着项目规模扩大,新改动导致现有功能失效的可能性也会增加。一套全面的测试,是确保这些功能持续正常工作的最有效方式。

在实现代码、让测试通过之前,先确认测试确实失败,这一点很重要。如果跳过这一步,你可能写出一个原本就能通过的测试,结果它根本没有检验和验证你的新实现。

这就是「红灯/绿灯」的含义:红灯阶段观察测试失败,绿灯阶段则确认测试已经通过。

每个好的模型都能理解,「红灯/绿灯 TDD」是下面这条长指令的简写:「使用测试驱动开发,先写测试;在实现让测试通过的改动之前,确认测试失败。」

示例提示词:

编写一个 Python 函数,从 Markdown 字符串中提取标题。使用红灯/绿灯 TDD。


上一篇原文:子智能体 · 下一篇原文:先运行测试

一起讨论

选中正文中的文字,可以针对这段内容发起讨论。

正在读取讨论…

在 GitHub 查看与管理讨论 ↗

文章讨论