为核心函数批量生成单元测试
🎯 解决什么问题
老项目测试覆盖率只有 20%,补测试写到手软。智能体分析函数逻辑和边界条件,自动生成 pytest 或 Jest 用例,覆盖正常路径、异常路径和边界值。生成的测试先跑一遍,失败的会自我修正后再提交给你确认。
😣 老项目测试覆盖率只有 20%,领导要求提到 70%,开发补测试写到手软:每个函数都要想正常路径、异常路径、边界值,枯燥又耗时,还容易漏分支。
💡 核心模块测试覆盖率一周内从 20% 拉到 70%
🛠 操作步骤(共5步)
1
选定目标函数先挑核心模块的纯函数/工具类下手,圈定要补测试的文件清单,排除 UI 层和强依赖外部服务的代码。
2
AI 分析逻辑把函数源码丢给 Muse,让它列出所有分支条件、边界值和可能抛异常的点,确认理解无误再生成。
3
批量生成用例按 pytest(Python)或 Jest(JS)风格生成测试文件,覆盖正常路径、异常路径、边界值三类。
4
运行并自修正直接跑一遍测试,失败的用例把报错喂回去让 AI 修正,直到全绿或只剩需人工判断的用例。
5
人工确认入库你快速过一遍生成的断言是否合理(AI 有时会写出“恰好通过”的弱断言),确认后合入仓库。
📋 提示词模板(复制即用)
你是测试工程师。请为以下函数生成单元测试(pytest 风格):要求覆盖 1.正常路径(含典型输入输出);2.异常路径(非法输入、空值、抛异常);3.边界值(0、空字符串、最大值、临界条件)。每个测试用函数名清晰命名,并写清断言的预期依据。不要写没有断言的测试。函数源码:[粘贴函数代码];依赖说明:[如依赖数据库请用 mock]
🧰 用到工具
Muse · pytest · Jest
⚠️ 注意事项
- 先让 AI 列分支再生成测试:直接让它写容易漏掉 else 分支和异常路径。
- 警惕“恰好通过”的弱断言,如 assert result is not None,要人工加严关键断言。
- 有外部依赖(数据库、HTTP)的函数先要求用 mock,否则生成的测试跑不起来。