自动化测试生成

单元测试、集成测试、E2E 测试 —— 把代码丢给 OpenClaw,测试用例自动生成

写测试这件事,谁不头疼?

测试永远排在最后面

功能赶着上线,测试永远是"下个版本再补"。结果上线一炸,才发现边界情况根本没覆盖。

写 mock 写到怀疑人生,一个接口依赖三个服务,光 mock 数据就写了半个小时,比业务代码还多。

覆盖率报告一看 30%,老板问起来只能嘴硬说"核心逻辑都测了"。实际上连 happy path 都没测全。

OpenClaw 怎么帮你搞定测试

读懂你的代码,生成靠谱的测试

OpenClaw 不是随便生成几个 test case 糊弄你。它会分析函数签名、分支逻辑、异常处理路径,自动识别边界条件和异常场景。

你的函数有 null 检查?它会生成 null 输入的测试。有循环?它会测空数组、单元素、大量数据。有 try-catch?它会构造能触发异常的输入。

而且它理解你项目用的测试框架 —— Jest、Pytest、JUnit、Vitest,生成的代码直接能跑,不用你手动改格式。

拿去就能用的测试 Prompt

三条 Prompt 覆盖单元测试、E2E 测试、压力测试。按你的需要选。

单元测试全覆盖 黄金指令
分析这个模块的所有导出函数和类方法。

为每个函数生成完整的单元测试,要求:
1. 覆盖率目标 90% 以上(语句覆盖 + 分支覆盖)
2. 每个函数至少测试:正常输入、边界值、异常输入
3. 对外部依赖使用 mock,不要依赖真实的数据库或网络
4. 测试命名清晰,用 "should xxx when xxx" 格式
5. 加上必要的 setup/teardown

用这个项目现有的测试框架和断言库,保持风格一致。
这条是最常用的。丢一个文件进去,几秒钟测试就出来了。覆盖率 90% 不是吹的,它会把你想不到的边界 case 都加上。
E2E 登录流程测试(Playwright) 进阶技巧
用 Playwright 为以下登录流程编写 E2E 测试:

测试场景:
1. 正常登录:输入正确的用户名密码,验证跳转到首页
2. 错误密码:输入错误密码,验证显示错误提示
3. 空表单提交:不输入任何内容点提交,验证表单校验
4. 记住密码:勾选 "记住我",关闭后重新打开验证登录状态
5. 登出:登录后点击退出,验证跳回登录页

要求:
- 用 Page Object Model 模式组织代码
- 添加合理的等待策略,不要用 sleep
- 截图失败场景用于调试
Playwright 的 E2E 测试写起来很繁琐,特别是等待策略和选择器。让 AI 写初版,你再按实际页面微调,效率翻倍。
API 压力测试脚本 进阶技巧
为以下 API 接口生成压力测试脚本(使用 k6 或 Artillery):

测试配置:
1. 渐进加压:从 10 并发开始,每 30 秒增加 10,最高 200 并发
2. 持续时间:总共 5 分钟
3. 请求分布:70% 读操作,20% 写操作,10% 更新操作
4. 记录指标:P50/P95/P99 延迟、错误率、吞吐量

生成结果分析脚本,输出性能瓶颈报告。
如果 P99 > 500ms 或错误率 > 1%,标记为需要优化。
压力测试脚本自己从头写要半天。这条 Prompt 直接给你生产级的配置,连结果分析脚本都包了。

测试生成:OpenClaw vs Copilot

都能生成测试,但生成质量差别挺大的。

OpenClaw
  • 分析完整的函数逻辑和分支路径,边界 case 覆盖全
  • 理解跨文件的依赖关系,mock 生成准确
  • 支持指定覆盖率目标,不达标会补充用例
  • 生成 E2E、压力测试等复杂场景的完整脚本
VS
Copilot
  • 基于当前文件生成,容易遗漏跨文件依赖
  • 主要生成 happy path 测试,边界覆盖不够
  • mock 经常需要手动修正
  • 复杂测试场景(E2E、压力测试)支持有限

真实场景:紧急上线前补测试

周五下午四点,老板说今晚必须上线
新功能开发了两周,测试覆盖率只有 20%。QA 说至少要 70% 才敢放行。你还有三个小时。
OpenClaw
把核心模块丢给 OpenClaw,一个 Prompt 生成完整测试套件。它会自动分析哪些分支没覆盖,补上边界测试和异常处理。三个小时拿下 80% 覆盖率,QA 愉快签字。
手写测试
开始疯狂写 test,但光理清楚依赖关系就花了一个小时。mock 写错了三次,测试跑不通。最后覆盖率勉强到 45%,QA 不让过,加班到凌晨。

几个实用技巧

💡 生成测试后先跑一遍,确认能通过。如果有失败的用例,把错误信息贴给 OpenClaw,它会帮你修复。
🎯 与其一次性生成所有测试,不如按模块分批生成。每次聚焦一个文件,测试质量更高。
测试生成用 Claude Opus 4.6 效果最好,特别是涉及复杂业务逻辑的时候。简单的工具函数测试用 DeepSeek V3.2 就够了,省钱。
这篇案例对你有帮助吗?