Expect 是什麼?
Expect 是一款開發者工具,讓代理程式能在真實瀏覽器中測試你的程式碼。它會分析你目前的變更(例如,未暫存變更或分支差異),生成測試計畫,並在即時瀏覽器中執行該計畫。
核心目的是將程式碼變更轉換成可執行的瀏覽器測試集合,從命令列執行,讓你在開發時驗證行為。
主要功能
- 從程式碼變更一鍵生成測試計畫:掃描未暫存變更或分支差異,決定要測試什麼,減少手動撰寫測試計畫的功夫。
- 代理程式生成的測試計畫:根據偵測到的變更產生測試計畫,提供結構化的瀏覽器執行起點。
- 在真實瀏覽器中執行:在真實瀏覽器環境執行生成的計畫,而非僅限靜態檢查。
- 命令列初始化與使用:包含透過
expect-cli套件提供的init流程。 - 基於技能的擴充性:支援新增技能(例如,使用
npx skills add … --skill expect指令新增技能),可擴充額外功能。
如何使用 Expect
- 安裝與初始化:執行
npx -y expect-cli@latest init來設定 Expect。 - 新增技能(若需要):使用
npx skills add https://github.com/millionco/expect --skill expect新增相關技能。 - 執行一鍵流程:使用工具的主要指令,掃描未暫存變更或分支差異,生成測試計畫,並在真實瀏覽器中執行。
使用情境
- 驗證少量本機變更:當有未暫存變更時,執行 Expect 掃描變更、生成測試計畫,並在真實瀏覽器中執行。
- 審核前測試功能分支:針對分支差異,執行 Expect 從分支差異產生瀏覽器測試計畫。
- 自動化瀏覽器測試流程:使用 Expect 讓代理程式生成計畫並在即時瀏覽器執行,減少手動測試計畫功夫。
- 以技能擴充功能:若想讓 Expect 透過技能機制支援額外行為,可使用提供的 CLI 指令新增技能。
常見問題
Expect 如何決定要執行哪些測試?
Expect 會掃描未暫存變更或分支差異,然後根據該變更集生成測試計畫。
Expect 會在真實瀏覽器中執行測試嗎?
會。所述流程會在即時瀏覽器中執行生成的測試計畫。
如何開始使用?
你可以從 npx -y expect-cli@latest init 開始,然後使用網站內容所示的 npx skills add ... --skill expect 指令新增技能。
Expect 能用於不同程式碼狀態(未暫存 vs 分支差異)嗎?
頁面特別提到掃描未暫存變更或分支差異,作為一鍵流程的輸入。
Expect 中的「技能」是什麼?
技能似乎是可透過 CLI 新增的元件(使用 npx skills add ... --skill ... 指令)。頁面內容示範從 GitHub URL 新增技能。
替代方案
- 基於瀏覽器的端到端測試框架 (E2E):這些工具在真實瀏覽器執行測試,通常需要你直接撰寫與維護測試腳本,而 Expect 著重從程式碼差異生成測試計畫。
- 靜態分析與 linting 工具:這些工具無需在瀏覽器執行即可捕捉問題。Expect 的方法特別針對代理程式生成的計畫在瀏覽器執行。
- 聚焦變更的 CI 測試自動化:根據變更檔案決定測試內容的方案,工作流程類似,但可能不會生成並執行相同樣式的瀏覽器測試計畫。
- 代理式 QA/測試工具:類別層級替代方案也可能使用代理程式規劃與執行任務,但 Expect 的區別在於明確的「真實瀏覽器」執行步驟,與程式碼差異連結。
替代品
Codex Plugins
使用 Codex Plugins 將技能、應用程式整合與 MCP 伺服器打包成可重複使用的工作流程,讓 Codex 存取 Gmail、Google Drive、Slack 等工具。
ClawTick
ClawTick 是以 CLI 為核心的 AI 代理自動化平台,可用 cron 排程 webhook 任務,提供監控、警報、重試與執行紀錄。
Falconer
Falconer 是自動更新的知識平台,讓高速度團隊在同一處撰寫、分享並搜尋可靠的內部文件與程式碼脈絡。
OpenFlags
OpenFlags 是開源、可自架設的功能旗標系統,支援逐步交付;App SDK 可本地評估,控制平面提供安全、精準的發佈。
AakarDev AI
AakarDev AI 是一個強大的平台,通過無縫的向量資料庫整合簡化 AI 應用程式的開發,實現快速部署和可擴展性。
Whirr
Whirr 是一款安靜的 macOS 選單列 App,可將 Claude Code 代理活動鏡像到 Mac 螢幕凹槽,讓你一瞥即可掌握進行狀態。