做法就四步:先让 Claude 只写测试、不写代码,跑一遍看它变红;再写最少的代码让测试变绿;每加一条新规则,先加测试、看它红、再修代码;最后重构,测试还得全绿。关键是把测试命令写进 CLAUDE.md,这样 Claude 每次跑测试都用同一条命令,不会自己换命令。
作者拿 Python 内置 unittest 做了一个 slugify 小练习(把标题转成网址 slug):Claude 先写了 18 行测试文件、3 个测试,跑一遍是红的;然后只用 6 行代码就全绿了。再加一条新规则“词内连字符要保留”,新测试先红(’wellknown-tool’ != ‘well-known-tool’),改一行代码又全绿。还有一次新测试一跑就绿——作者提醒,这说明规则早已满足、或者测试根本没测对地方,不能当作新工作的证明。
适合想让 AI 写的代码自带安全网的人。常见坑有四个:不说“先别写代码”,Claude 会把测试和代码一起写了,你永远看不到红;一次加太多规则,失败了不好定位;忘了审测试本身,测试也可能错;测试命令没写进 CLAUDE.md。文末还给了能直接抄的练习:先写 test_wordcount.py,跑红了再让它写代码。
相关阅读:让 Claude Code 边写功能边写测试、CLAUDE.md 模板照着抄。
来源:AI Parabellum,原文:https://aiparabellum.com/claude-code-test-driven-development/


没有回复内容