通用专题 · 04 · 方法论

AI 跑测试
生成 + 跑 + 修

从 0 到 80% 覆盖率,时间从「几天」压到「几小时」。5 个场景直接抄 + 5 条让 AI 测试跑得稳的心法。

⏱ 8min📊 进阶💻 通用更新 2026-06-11

为什么用 AI 跑测试

程序员第二讨厌的事(紧跟写文档之后):写测试。AI 在测试上是真·神器 — 从 0 到 80% 覆盖率,时间从「几天」压到「几小时」。

AI 测试的甜区:
  • 读代码 → 生成测试用例(你只审核)
  • 跑测试 → 失败自动修
  • 覆盖率分析 + 补缺
  • 边界条件 / 异常路径自动想到

5 个场景 · 直接抄

1 · 从 0 写测试

给现有函数补单测

老代码没有测试,AI 一次性给你补齐。

读完 src/utils/string_helpers.py 后,给每个函数写一份单元测试(pytest 风格)。每个函数至少 3 个用例:① 正常路径 ② 边界条件 ③ 异常输入。测试文件叫 test_string_helpers.py。
2 · TDD 工作流

先写测试,再让 AI 实现

反过来 — 你写测试,AI 写实现到测试通过。代码质量出奇地稳。

我写了一份测试 test_user_signup.py 描述「用户注册」功能。读完测试后,给我实现 src/user/signup.py 让所有测试通过。不要改测试文件,只动实现。
3 · 修失败测试

跑测试 + 错了自己修

跑了一遍测试 5 个挂的 — 让 AI 一个个修。每修一个跑一遍验证。

跑 `pytest tests/` 看哪些挂了。挑前 3 个,每个:① 看错误信息 ② 找出对应源码 ③ 决定是 bug 在源码还是测试 ④ 修好并重跑确认。一次只修一个,跑过了再下一个。
4 · 覆盖率分析

找哪里漏测了

跑覆盖率工具,让 AI 看报告 + 补关键漏洞。

跑 `pytest --cov=src/ --cov-report=term-missing`。看哪些函数 / 分支没覆盖。挑 TOP 3「最关键且未覆盖」的(错了影响大的优先),给它们补测试。不要为了凑覆盖率瞎写。
5 · 边界 / 异常

让 AI 想出你没想到的破坏方式

常规测试好写,刁钻边界难想 — 这是 AI 的强项。

这是「文件上传」功能的现有测试。扮演一个想搞坏它的攻击者,列出 10 种没被测到的边界 / 异常场景(空文件 / 巨大文件 / 路径穿越 / 重复名 / 并发等)。每个写一个测试用例。

语言 / 框架适配

Python

pytest

AI 最熟,效果最稳

  • fixture / parameterize 都熟
  • mocker 用法老练
  • 新手友好
JS / TS

vitest / jest

前端首选

  • vitest 体验比 jest 顺
  • React Testing Library 也熟
  • 注意 mock 写法稍复杂
Go / Rust

go test / cargo test

编译型语言一样能玩

  • Go 的 table-driven test AI 写得好
  • Rust 的 #[cfg(test)] 模板熟
  • integration test 也能搞

让 AI 测试跑得稳的 5 条心法

① 给现有测试做参考 · 「按这个项目现有的 test_xxx 风格写」
② 一次一个文件 · 让 AI 啃完一个再下一个,不要一次让它写 10 个
③ 跑了再说 · AI 写完立刻跑一遍,没跑过的测试都不算数
④ 别为覆盖率瞎写 · 100% 覆盖率没意义,覆盖关键路径才有意义
⑤ 别让 AI 改测试来"修 bug" · 不老实,要明确指示「源码错了改源码,测试错了改测试」

3 个常见踩坑

AI 写"看起来对"但其实 trivial 的测试 · 比如 `assert True`。审查时看 assert 是否有意义
AI 改测试来"修" bug · 测试挂了它把 assert 改宽就过了 — 明确禁止,让它只改源码
mock 用得太凶 · 全 mock 测出来的代码没用。让 AI 优先用真实对象

FAQ

哪个模型写测试最好

Claude Sonnet / Opus 在工程实践上最稳。GPT-5 在边界条件思考上更强。先 Sonnet 跑大批量,难题切 Opus / GPT-5。

能不能让 AI 把整个项目的测试都跑通

能,但慢且贵。更聪明的做法:① 让 AI 列出所有挂的测试 ② 按优先级排 ③ 你挑前 5 个让它修,跑通了再继续。一口吃不下大象。

TDD 真的可行吗

非常可行 — 而且 AI 让 TDD 比手写时代容易得多。你专注写测试(描述需求),AI 负责实现。这其实是 AI 时代的最佳实践之一。

下载暴喵 AI 管家

一站装好 Claude Code / Cursor / Codex CLI · 跑测试第一步

前往官网下载 →