人人都会AI编程

3.7.1 单元测试用例生成

更新时间:2026-06-29

写完业务代码后,补充单元测试往往是最容易被拖延的环节。Cursor 能基于已有代码逻辑快速生成对应测试框架的用例,帮你把精力集中在边界条件设计,而非重复编写 describeit 的样板结构上。

触发方式

| 方式 | 适用场景 |
|------|---------|
| 侧边栏对话生成 | 为单个函数、类或整个模块批量生成测试代码 |
| 行内编辑(Ctrl/Cmd + K | 在现有测试文件中快速补全某个分支的断言语句 |
| Agent 模式 | 自动扫描项目中缺少测试的函数,批量创建测试文件并写入用例 |

标准操作流程(侧边栏方式)

  1. 打开被测文件,选中目标函数或类(可选,不选中则 AI 自动识别当前文件主要导出);
  2. Ctrl/Cmd + L 打开侧边栏,输入具体指令,例如:

> "为选中的函数生成 Jest 单元测试,覆盖正常输入、空数组、异常抛出三个分支"

  1. AI 生成测试代码后,点击代码块右下角的 "Apply" 按钮,直接写入项目的测试目录;若目录不存在,AI 会提示建议的存放路径;
  2. 运行测试命令(如 npm testpytest),若有报错可将终端输出通过 @终端 引用回抛给 AI,让它根据错误信息修正 mock 或导入路径。

提升生成质量的技巧

  • 指定框架与版本:明确说明 "使用 Vitest + Vue Test Utils 2.x" 或 "Python unittest",避免 AI 混用过时 API。
  • 要求覆盖边界:主动追加 "包含边界值、null 和异常分支",否则 AI 往往只生成 happy path。
  • 提供风格参考:使用 @文件 引用团队已有的测试文件,让新生成的用例在命名习惯、mock 风格和断言方式上与现有代码保持一致。

现实提醒

AI 生成的测试用例能帮你快速搭建骨架,但不能直接提交而不检查。运行前务必人工确认:

  • 导入路径是否正确,是否需要额外安装依赖;
  • Mock 对象是否完整,特别是数据库、HTTP 请求或内部模块是否被正确替换;
  • 断言是否真正验证了业务规则,而非仅仅 "能跑通"。

建议生成后立即运行一轮,将报错信息回传 AI 修复,通常一到两轮迭代即可得到可用版本。