首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >用WorkBuddy生成API契约测试脚本

用WorkBuddy生成API契约测试脚本

原创
作者头像
正小瓦
发布2026-07-21 19:38:55
发布2026-07-21 19:38:55
430
举报

接口一改,前端就崩——契约测试能提前抓"接口行为偏离约定"。WorkBuddy 可以基于接口定义(OpenAPI/手写说明)生成契约测试脚本,验证"实际响应是否符合约定"。本文给一套契约测试生成提示词工作流。

一、为什么需要契约测试

单元测试管内部逻辑,契约测试管"对外承诺"。AI 把接口文档转成可运行的断言脚本,接口被改坏时立刻红。

二、核心提示词模板(可直接复制)


请基于下面的 API 定义生成契约测试脚本。

接口定义:[粘贴 OpenAPI 片段 / 手写:方法、路径、请求参数、成功响应字段与类型、错误码] 测试框架:[如 Python + requests + pytest]

请生成:

  1. 正常契约:调用接口,断言状态码、响应字段存在且类型正确、关键字段值符合约定。
  2. 错误契约:传入非法参数,断言返回约定错误码与错误信息结构。
  3. 字段校验:对必填字段缺失、类型错误分别断言。 每个用例注明"在验证什么契约"。脚本可直接运行。

三、多轮工作流

第一轮:拿到契约脚本。 第二轮:追问"加入对响应耗时的断言(超过 X ms 视为不通过),体现性能契约"。 第三轮:追问"把脚本改成基于 OpenAPI schema 自动校验(用 jsonschema/pydantic),减少手写断言"。

四、具体示例(结构)

接口:POST /orders,成功返回 {id:int, status:string},错误 400 {error:string}。 脚本结构:

  1. 正常:发合法 body,断言 200 + id 为 int + status 为 string。
  2. 错误:发缺字段 body,断言 400 + error 为 string。
  3. 类型:status 非 string 时断言失败。 注意:以上为结构示例,实际以 WorkBuddy 实时返回为准。

五、进阶:接入 CI

追加"把这套契约测试写成可在 CI 跑的最小配置说明(如 GitHub Actions 步骤),每次 PR 自动验接口",把一次性脚本变持续护栏。

六、踩坑

坑一:不给错误码定义,脚本只测 happy path。 坑二:不校验类型,字段悄悄变型无人知。 坑三:契约脚本依赖真实环境状态——应 mock 或固定测试数据。

七、小结

契约测试把"接口约定"变成"可执行的护栏"。本文模板让 AI 从定义直接产出断言,是前后端协作最稳的质量网。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、为什么需要契约测试
  • 二、核心提示词模板(可直接复制)
  • 三、多轮工作流
  • 四、具体示例(结构)
  • 五、进阶:接入 CI
  • 六、踩坑
  • 七、小结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档