代码编写3 分钟阅读
AI 单元测试 Prompt:为函数和组件生成测试用例
一个适合开发者使用的单元测试 Prompt,帮助你根据函数、组件或业务规则生成测试场景、边界条件和测试代码。
本文速览
- 主题
- 代码编写
- 内容类型
- Prompts
- 阅读时间
- 3 分钟阅读
- 你将获得
- 可直接调整并使用的 Prompt 模板
适用场景
当你已经写完一个函数、组件或业务逻辑,但还没有补测试时,可以使用这个 Prompt 让 AI 先帮你设计测试场景,再生成测试代码。
适合用于:
- 工具函数测试
- 表单校验测试
- API 处理逻辑测试
- 权限判断测试
- React / Vue / Astro 组件行为测试
- 回归问题补测试
使用前需要准备什么
不要只粘贴一段代码就让 AI “写测试”。最好提供:
- 语言和测试框架
- 被测代码
- 预期行为
- 输入输出示例
- 边界条件
- 已知 bug 或回归场景
- 需要 mock 的依赖
Prompt 正文
你是一名资深测试工程师和代码审查专家。请根据我提供的代码和预期行为,帮我设计单元测试并生成测试代码。
请先输出测试计划,再输出测试代码。
测试计划包含:
1. 被测对象
2. 核心行为
3. 正常用例
4. 边界用例
5. 异常用例
6. 需要 mock 的依赖
7. 不建议测试的内容
测试代码要求:
- 使用我指定的测试框架
- 测试名称清晰说明行为
- 每个测试只验证一个重点
- 覆盖边界条件和错误输入
- 不要为了通过测试而修改业务逻辑
- 如果缺少上下文,请先提问
技术栈:
[语言 / 框架 / 测试工具]
被测代码:
[粘贴代码]
预期行为:
[说明这个函数或组件应该做什么]
已知边界:
[列出空值、异常输入、权限、时间、网络等边界]
输入示例
技术栈:TypeScript + Vitest
被测代码:
function formatReadingTime(words: number) {
return Math.max(1, Math.ceil(words / 300));
}
预期行为:
根据文章字数估算阅读分钟数,最低返回 1 分钟。
已知边界:
0 字、1 字、300 字、301 字、负数。
输出示例
import { describe, expect, it } from 'vitest';
import { formatReadingTime } from './readingTime';
describe('formatReadingTime', () => {
it('returns at least 1 minute for empty content', () => {
expect(formatReadingTime(0)).toBe(1);
});
it('returns 1 minute for 300 words', () => {
expect(formatReadingTime(300)).toBe(1);
});
it('rounds up when words exceed one minute', () => {
expect(formatReadingTime(301)).toBe(2);
});
it('returns 1 minute for negative input based on current behavior', () => {
expect(formatReadingTime(-10)).toBe(1);
});
});
使用技巧
建议让 AI 先列测试计划,再写测试代码。这样你可以先检查测试方向是否正确,避免 AI 生成一堆看似完整但没有覆盖关键风险的测试。
常见测试维度
| 维度 | 示例 |
|---|---|
| 正常输入 | 常规数据能得到预期输出 |
| 空值 | null、undefined、空字符串、空数组 |
| 边界值 | 0、1、最大值、最小值、临界时间 |
| 异常输入 | 非法格式、无权限、缺少字段 |
| 状态变化 | loading、success、error、empty |
| 依赖失败 | API 超时、数据库错误、第三方服务失败 |
人工复核重点
- 测试是否符合真实业务规则?
- 是否只是测试实现细节,而不是用户可感知行为?
- 是否遗漏边界条件?
- mock 是否过度?
- 测试名称是否能说明预期行为?
- AI 是否为了让测试通过而改变了需求?
延伸阅读
You may need
你可能还需要
Skill · 可复用能力代码编写
代码审查 Skill:建立 AI 辅助 Code Review 流程
一个面向开发者的代码审查 Skill,用于让 AI 按正确性、安全性、性能和可维护性审查代码。
Prompt · 可复制模板代码编写
AI 代码审查 Prompt:从正确性、安全性和可维护性检查代码
一个适合开发者使用的 AI 代码审查 Prompt,用于检查 Bug、边界条件、安全风险、性能和可维护性。
Workflow · 完整流程代码工作流
用 AI 做代码审查的完整工作流
一个适合开发者的 AI Code Review 工作流,从 diff 理解、问题发现、测试建议到修复方案。
Feedback
这篇内容对你有帮助吗?
你的反馈会帮助我们优先更新过时内容、补充更好用的 Prompt。