dsh-api-testgen:基于 OpenAPI 3.x 的接口测试骨架生成

前言

DeepSeek Harness(DSH)遵循「一切皆插件」的理念,将开发流程模块化。在 API 开发与测试环节,手动编写重复的接口测试骨架往往耗时且易错。dsh-api-testgen 插件旨在解决这一问题,通过解析 OpenAPI 3.x 规范,自动生成覆盖多种异常场景的测试代码骨架,降低接口测试的准入门槛。

插件介绍

名称:dsh-api-testgen
所有者:uckkk
定位:解析 OpenAPI 3.x(JSON/YAML),生成覆盖成功/缺参/非法枚举的 pytest/vitest 接口测试骨架。
许可证:MIT

核心功能

  1. OpenAPI 解析:支持解析 OpenAPI 3.x 格式的 JSON 或 YAML 文件。
  2. 用例生成:为每个接口自动生成三类测试用例:
    - 成功用例(状态码 2xx)
    - 缺参用例(覆盖所有必填路径参数缺失)
    - 非法枚举用例(覆盖所有枚举参数的非法值)
  3. 多语言支持:输出 Python(pytest + requests)或 TypeScript(vitest + fetch)测试文件。
  4. 本地运行:纯 Node 实现,无需网络连接,不依赖外部服务。

安装与启用

执行以下命令安装插件:

dsh plugin add github:uckkk/dsh-api-testgen

安装完成后,在项目的 package.json 中将插件加入 dsh.profile.bundles 配置项:

{
  "dsh": {
    "profile": {
      "bundles": [
        "dsh-api-testgen"
      ]
    }
  }
}

使用示例

安装成功后,在 DSH 会话中调用 gen_tests 工具。

生成 Python 测试骨架:

gen_tests(spec='openapi.yaml', lang='python')

生成 TypeScript 测试骨架:

gen_tests(spec='openapi.yaml', lang='typescript', outDir='./src/__tests__')

适用场景与注意事项

适用场景:
- 需要快速建立接口自动化测试体系。
- 已有 OpenAPI 规范文档,希望减少重复编写测试代码的工作量。

注意事项:
1. 骨架性质:生成的测试用例仅包含状态码断言,具体业务逻辑断言需按需补充。
2. 环境配置:运行测试前,需手动修改生成的测试文件中的 BASE_URL 为实际服务地址。
3. 生态配合:可与 dsh-api-contract(客户端)和 dsh-api-mock(Mock 服务器)配合使用,构成 API 开发三件套。
4. 代码审计:安装即在本机运行第三方代码,请自行审阅源码与许可证。

总结

dsh-api-testgen 为接口测试提供了标准化的骨架生成方案。通过解析 OpenAPI 规范,它能快速产出符合测试覆盖要求的代码框架,帮助开发者专注于业务逻辑验证。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜