dsh-test-normalizer: 統一測試結果格式的 DSH 插件

前言

在 DSH 的插件體系中,測試結果的解析依賴於具體的 Runner。pytest、Vitest、Jest 和 Cargo 等工具輸出的摘要格式各異,直接處理這些異構數據會增加上層邏輯的複雜度。dsh-test-normalizer 插件旨在將上述框架的測試結果統一爲穩定的結構,以便於後續的編排與分析。

插件定位

這是一個面向 DSH 的結構化測試結果歸一化插件。它負責將 pytest、Vitest、Jest 和 Cargo 的測試摘要解析爲統一的內部格式。該插件屬於 MIT 協議開源項目,由用戶 MkaliezZ 維護。

核心功能

  1. 多框架解析:支持解析 pytest、Vitest、Jest 和 Cargo 的測試摘要,將其轉換爲穩定的輸出形狀。
  2. 運行器適配:DSH 適配器(Adapter)接受宿主提供的 Runner,插件本身不通過自身邏輯繞過 DSH 的執行策略。

安裝與啓用

該插件以 npm 包形式發佈,包名爲 @mkaliezz/dsh-test-runner。安裝後需在 DSH 配置中指定其 bundle patch 文件以完成集成。

在 package.json 中定義了插件的入口文件爲 lib/src/plugin.js,類型爲 ES Module。DSH 配置中需包含 bundle patch 指令,指向 cordis.patch.yml 文件:

"dsh": {
    "bundle": {
        "patch": "./cordis.patch.yml"
    }
}

典型用法

當前文檔未提供具體的命令行調用示例。根據功能描述,該插件作爲 DSH 體系的一部分,通過宿主提供的 Runner 運行,並將不同框架的測試摘要轉換爲統一結構。實際使用時需參考 DSH 的運行器配置與宿主 Runner 的對接方式。

適用場景與注意

  1. 環境要求:插件依賴 Node.js 環境,且要求版本不低於 20。
  2. 權限與策略:插件通過 DSH 的 bundle patch 機制集成,本身不執行繞過 DSH 執行策略的操作,需依賴宿主 Runner 的配置。
  3. 代碼審查:在使用前應檢查源碼與許可證(MIT),確認其符合項目安全要求。

總結

dsh-test-normalizer 解決了在 DSH 環境下處理多種測試框架輸出不一致的問題。通過引入 @mkaliezz/dsh-test-runner 並配置 cordis.patch.yml,可以將 pytest、Vitest、Jest 和 Cargo 的結果歸一化。這是一個輕量級的插件,適合需要在單一 Harness 流程中集成多種測試工具的場景。

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

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

小夜