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 規範,它能快速產出符合測試覆蓋要求的代碼框架,幫助開發者專注於業務邏輯驗證。

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

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

小夜