工程開發
E2E Testing Nori Skillsets Subcommands avatar

E2E Testing Nori Skillsets Subcommands

使用 tmux 對 nori-skillsets CLI 子命令進行端對端測試,實現隔離、安全且可重現的檔案系統副作用驗證。

簡介

此技能為開發人員和質量工程師提供了一個強大的框架,用於對 nori-skillsets CLI 執行端對端 (E2E) 測試。透過利用 tmux 進行進程管理和嚴格的環境變數隔離,它允許在不冒著破壞用戶本地配置或系統級設定風險的情況下,對 CLI 子命令進行互動式驗證。測試過程確保了從初始化、下載到切換技能集 (skillset) 的每個指令,都能在受控且短暫的環境中精確運作。

  • 使用 NORI_GLOBAL_CONFIG 實現完整的檔案系統隔離,將配置路徑重新導向,避開主機用戶主目錄。

  • 自動化的環境設定與拆除程序,確保每個測試案例都有乾淨的起始狀態,目標目錄為 /tmp/nori/skillsets-e2e-scenario/。

  • 與 TUI 傀儡腳本 (TUI puppeteering) 整合,支援對終端機 UI 元素(如基於 clack 的提示、進度條、選擇選單及輸出說明)的腳本化斷言。

  • 驗證 CLI 的狀態變更,包括技能集、MCP 配置及特定代理程式指令檔的建立、修改或刪除。

  • 支援複雜的測試計畫,包含寫入測試資料、驗證成功與失敗流程,以及確保真實環境保持不受影響。

  • 在執行任何子命令前,請務必使用提供的 e2e-setup 腳本初始化隔離環境。

  • 確保所有指令執行時皆設置環境變數 NORI_GLOBAL_CONFIG 指向目標 E2E 目錄,以防止寫入 ~/.nori/ 或 ~/.claude/。

  • 使用 tui-start 和 tui-stop 來管理 tmux 工作階段生命週期,這有助於實現可重複的 TUI 互動模式。

  • 測試完成後,驗證暫存目錄內的預期副作用,並執行 e2e-teardown 進行清理。

  • 編寫測試斷言邏輯時,請密切注意如 clack intro 和 outro 等 UI 約定,以準確判斷測試成功或失敗的情境。

倉庫統計

Star 數
128
Fork 數
9
Open Issue 數
7
主要語言
TypeScript
預設分支
main
同步狀態
閒置
最近同步時間
2026年5月3日 下午07:33
在 GitHub 查看