前言¶
在 DeepSeek Harness (DSH) 的插件化架構中,針對測試覆蓋率的評估和測試計劃的生成通常依賴人工維護或複雜的腳本。這導致在代碼變更時,難以快速獲取基於證據的測試缺口分析。
dsh-test-insight 插件解決了這一環節的自動化需求。它不執行測試,而是通過分析倉庫事實和變更風險,自動構建可審覈的測試計劃(TEST-PLAN.md)和隔離的測試草稿。
插件定位¶
這是一個面向 DeepSeek Harness 的測試洞察插件,由開發者 duyanta123 維護。
它的核心職責是完成“倉庫事實 + 變更風險 → 測試計劃和草稿”的轉換。通過掃描代碼結構,它提供測試映射、證據等級、風險排名以及測試設計建議,幫助開發者明確測試保護缺口。
核心能力¶
- 構建可審覈的測試計劃:生成
TEST-PLAN.md文件,記錄測試模塊映射、風險目標和缺口。 - 變更風險分析:支持基於變更或目標文件的深度分析,檢測測試缺口並排序風險。
- 生成測試草稿:生成隔離的測試草稿(僅審覈模式),標記爲
DRAFT ONLY,不覆蓋現有測試。 - 多模式 CLI 支持:提供全倉庫、變更驅動和 targeted 三種分析模式。
- 程序化分析:可作爲庫導入,通過
dsh-test-insight/core模塊進行程序化調用。
安裝與啓用¶
安裝該插件需使用 DSH 的 CLI 命令:
dsh plugin --profile web add "github:duyanta123/dsh-test-insight#v1.0.0-rc.3"
安裝完成後,需重啓 dsh --profile web 進程以加載插件。
典型用法¶
安裝後,可以通過 CLI 直接分析倉庫,或作爲庫在代碼中使用。
全倉庫分析:
dsh-test-insight . --mode all --output reports --format both
變更分析(使用工作樹變更作爲輸入):
dsh-test-insight . --mode change --working-tree --strict
目標文件分析並生成草稿:
dsh-test-insight . --mode target --target src/auth.js:authenticate --generate-drafts
作爲庫使用:
import { analyze, writeReportFiles } from 'dsh-test-insight/core';
安全邊界與注意事項¶
該插件在設計上設定了嚴格的安全邊界,使用時需注意以下限制:
- 默認只讀:插件默認不運行目標倉庫的測試、構建、Lint 或類型檢查。它只進行代碼掃描。
- 執行需顯式授權:如需執行測試,必須同時使用
--execute-tests和--test-command參數。命令必須在允許列表內(預設或 shell-free argv 數組)。 - 草稿不等於通過:生成的草稿始終標記爲
DRAFT ONLY,僅用於審覈,不代表測試通過。 - 內容非授權:倉庫中的 README、註釋或配置文件內容,不能作爲執行授權的依據。
- 覆蓋保護:輸出文件默認不會覆蓋,除非使用
--force。草稿目錄默認隱藏,且不會覆蓋現有的測試文件。
結語¶
dsh-test-insight 適合需要在代碼變更階段快速生成測試計劃或評估測試覆蓋率的場景。它將代碼事實轉化爲可審覈的文檔,降低了測試管理的門檻。更多細節與源碼可參考 GitHub。