API 测试用例生成器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/api-to-testcase-generator。
技能介绍
问题从哪来
接口规范(OpenAPI、Swagger、Postman 集合或一段 curl)写完后,手工补全 快乐路径、校验失败、鉴权、边界值 往往拖慢联调与回归。规范里字段类型、枚举、必填项一多,漏测某个 401 或 422 场景很常见,而不同语言栈又要各自写 pytest、Jest、JUnit 等样板代码。
技能如何工作
本技能把 API 定义解析 与 按类别生成测试 串成固定流程:
- 解析:从输入提取端点(方法 + 路径)、请求头/查询/路径参数/Body 模式、响应码与 Body、认证方式(Bearer、API Key、Basic、OAuth2)及约束(min/max、enum、format、nullable)。
- 策略:对每个端点按类别生成用例——快乐路径(全必填、含可选、最小有效请求)、验证/错误(缺字段、类型错误、越界、非法 enum、畸形 JSON)、认证/授权(无令牌、无效令牌、403)、边缘(空串/null、最大长度、边界 ±1、特殊字符、幂等),多端点时还可做 CRUD 流程、分页与过滤组合。
- 输出:给出覆盖摘要表、完整可运行 的测试文件、依赖与运行说明,并列出因规范缺失无法覆盖的缺口。
支持的输入包括 OpenAPI 3.x、Swagger 2.0、Postman v2、原始 curl、英文自然语言描述、HTTP 示例,以及 Express/FastAPI/Spring 等路由代码。输出框架含 Python pytest+requests/httpx、JS/TS 的 Jest/Mocha/Supertest、Java JUnit+RestAssured、Go testing+httptest,以及 Newman、k6、.http 等 API 级方案;未指定时会询问或按 Python→pytest、JS/TS→Jest 默认。
可选模式:--mock 用 responses/nock/msw 离线跑;--load 输出 k6;--contract 生成 Pact 契约桩。
适用边界
规范缺 认证方式、错误 Body 形态、base URL、是否有副作用需清理、目标框架 时,技能会先追问再生成,避免断言猜错。复杂 OpenAPI 或冷门框架需结合 reference/framework-templates.md 与 reference/openapi-parsing-guide.md 的约定;交付后若需要反向写文档,可配合已安装的 API 文档类技能(本技能内另有询问流程)。
使用场景
- 后端刚交付 OpenAPI 3.0 YAML,需要在联调前补齐 pytest 的正向、422 与 Bearer 401 用例并可直接 `pytest` 运行
- 从 Postman 导出 v2 集合,希望转成 Jest + Supertest 套件挂进 CI,而不是在 Postman 里手工点回归
- 规范已定义分页与 CRUD 多端点,要生成创建→读取→更新→删除的流程测试并标注规范里缺 base URL 的覆盖缺口
- 线上环境未就绪,需基于同一套 API 描述用 `--mock` 生成 nock/msw 隔离测试,或 `--load` 输出 k6 脚本做压测基线
适合人员
- 负责 REST 接口发布、需在发版前用 OpenAPI/Swagger 快速拉出回归套件的后端工程师
- 接手预发环境接口测试,要把文档里的必填字段与枚举边界落成可执行用例的 QA
- 在流水线里统一从规范生成 Newman 或 k6 脚本、减少各服务手写测试模板的平台/DevOps 同学
- 用 Express/FastAPI/Spring 写路由、希望从控制器代码反推端点并生成 Supertest/pytest 用例的全栈开发