前言¶
DeepSeek Harness(DSH)遵循「一切皆插件」的理念,将开发流程模块化。在 API 开发与测试环节,手动编写重复的接口测试骨架往往耗时且易错。dsh-api-testgen 插件旨在解决这一问题,通过解析 OpenAPI 3.x 规范,自动生成覆盖多种异常场景的测试代码骨架,降低接口测试的准入门槛。
插件介绍¶
名称:dsh-api-testgen
所有者:uckkk
定位:解析 OpenAPI 3.x(JSON/YAML),生成覆盖成功/缺参/非法枚举的 pytest/vitest 接口测试骨架。
许可证:MIT
核心功能¶
- OpenAPI 解析:支持解析 OpenAPI 3.x 格式的 JSON 或 YAML 文件。
- 用例生成:为每个接口自动生成三类测试用例:
- 成功用例(状态码 2xx)
- 缺参用例(覆盖所有必填路径参数缺失)
- 非法枚举用例(覆盖所有枚举参数的非法值) - 多语言支持:输出 Python(pytest + requests)或 TypeScript(vitest + fetch)测试文件。
- 本地运行:纯 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 规范,它能快速产出符合测试覆盖要求的代码框架,帮助开发者专注于业务逻辑验证。