7×24 快速开通 · 微信客服售后选购指南全部商品
首页 / 选购指南 / 让 AI 写单元测试,怎么保证测的是对的东西

让 AI 写单元测试,怎么保证测的是对的东西

更新于 2026-10-29 · AI 加速站

这是用 AI 写测试最大的陷阱:它读你的实现,然后写一个「能让这个实现通过」的测试。代码有 bug,测试照样绿。覆盖率上去了,信心反而虚了。

陷阱:它测的是实现,不是需求

如果你说「给这个函数写单测」,它会照着现有逻辑写断言——包括把错误行为也断言成正确。

正确做法是先给它需求:「这个函数应该满足这几条规则」,再让它写测试。顺序反过来,测试才有把关价值。

三个提高有效性的方法

按效果排序:

该测什么,不该测什么

别追求覆盖率数字。优先测:核心计算逻辑、边界条件、错误处理路径、以及历史上出过 bug 的地方。

不值得测:getter/setter、纯转发的适配层、框架本身的行为。测这些只是让报表好看。

和 CI 配合的一个细节

AI 生成的测试经常依赖真实时间、随机数、外部网络,跑起来不稳定。

让它统一用可注入的时钟和固定随机种子,跑一次能过、跑一百次也能过,这才是可用的测试。

文中提到的商品

常见问题

AI 写的测试可信吗?
当「回归保护」可信,当「正确性证明」不可信。它的断言来自你的实现,不是来自需求。
覆盖率要到多少?
核心逻辑 80% 以上有意义,整体覆盖率不是好指标。追求数字容易写出一堆没断言的测试。
测试跑得慢怎么办?
让 AI 把 IO 依赖抽出来 mock 掉,单测应该毫秒级。慢测试最终会没人跑。
能不能让它顺便补集成测试?
可以,但集成测试依赖环境和数据,稳定性更难保证。建议单测交给它,集成测试自己设计场景。

相关阅读

在售商品