SKILL.md
readonlyread-only
name
vitest
description
Vitest 快速單元測試框架,由 Vite 驅動,提供與 Jest 相容的 API。適用於撰寫測試、模擬、設定涵蓋率,或處理測試篩選與測試固件。
Vitest 是下一代測試框架,由 Vite 驅動。它提供與 Jest 相容的 API,並原生支援 ESM、TypeScript 和 JSX,無需額外設定。Vitest 與您的 Vite 應用程式共用相同的設定、轉換器、解析器和外掛程式。
主要特色:
- Vite 原生:使用 Vite 的轉換管線,實現類似 HMR 的快速測試更新
- Jest 相容:可無痛取代大多數 Jest 測試套件
- 智慧監看模式:僅根據模組圖重新執行受影響的測試
- 原生支援 ESM、TypeScript、JSX,無需設定
- 多執行緒工作器,實現平行測試執行
- 內建涵蓋率支援(V8 或 Istanbul)
- 快照測試、模擬與間諜工具
此技能基於 Vitest 3.x,產生於 2026-01-28。
核心
| 主題 | 說明 | 參考 |
|---|---|---|
| 設定 | Vitest 與 Vite 設定整合,defineConfig 使用方式 | core-config |
| CLI | 命令列介面、指令與選項 | core-cli |
| 測試 API | test/it 函式,修飾符如 skip、only、concurrent | core-test-api |
| Describe API | describe/suite 用於分組測試與巢狀套件 | core-describe |
| Expect API | 斷言:toBe、toEqual、匹配器與非對稱匹配器 | core-expect |
| 鉤子 | beforeEach、afterEach、beforeAll、afterAll、aroundEach | core-hooks |
功能
| 主題 | 說明 | 參考 |
|---|---|---|
| 模擬 | 使用 vi 工具模擬函式、模組、計時器、日期 | features-mocking |
| 快照 | 使用 toMatchSnapshot 與內聯快照進行快照測試 | features-snapshots |
| 涵蓋率 | 使用 V8 或 Istanbul 提供者的程式碼涵蓋率 | features-coverage |
| 測試上下文 | 測試固件、context.expect、test.extend 自訂固件 | features-context |
| 並行 | 並行測試、平行執行、分片 | features-concurrency |
| 篩選 | 依名稱、檔案模式、標籤篩選測試 | features-filtering |
進階
| 主題 | 說明 | 參考 |
|---|---|---|
| Vi 工具 | vi 輔助:mock、spyOn、假計時器、hoisted、waitFor | advanced-vi |
| 環境 | 測試環境:node、jsdom、happy-dom、自訂 | advanced-environments |
| 型別測試 | 使用 expectTypeOf 與 assertType 進行型別層級測試 | advanced-type-testing |
| 專案 | 多專案工作區,每個專案不同設定 | advanced-projects |






