跳至內容

為何選擇 Vitest

注意

本指南假設您已熟悉 Vite。開始學習的絕佳方式是閱讀 為何選擇 Vite 指南,以及 使用 ViteJS 的新一代前端工具,這是 Evan You 進行示範並說明主要概念的串流。

需要原生 Vite 測試執行器

Vite 對常見網路模式、glob 匯入和 SSR 原語等功能的開箱即用支援,以及其眾多外掛程式和整合,正在培育一個充滿活力的生態系統。其開發和建置歷程是其成功的關鍵。對於文件,有幾個由 Vite 提供支援的基於 SSG 的替代方案。然而,Vite 的單元測試歷程並不明確。現有的選項,例如 Jest,是在不同的背景下建立的。Jest 和 Vite 之間有很多重複,迫使用戶配置兩個不同的管線。

在測試期間使用 Vite 開發伺服器轉換檔案,可以建立一個不需要處理轉換原始檔的複雜性,並且可以專注於在測試期間提供最佳 DX 的簡單執行器。一個使用應用程式相同組態(透過 vite.config.js)的測試執行器,在開發、建置和測試期間共用一個常見的轉換管線。這可以透過相同的外掛程式 API 進行擴充,讓您和工具維護人員可以提供與 Vite 的一級整合。一個從一開始就以 Vite 為考量所建置的工具,充分利用其在 DX 中的改進,例如其即時熱模組重新載入 (HMR)。這是 Vitest,一個由 Vite 提供支援的下一代測試架構。

鑑於 Jest 的大量採用,Vitest 提供了一個相容的 API,讓您可以在大多數專案中將其用作插入式替換。它還包括設定單元測試時所需的最常見功能(模擬、快照、涵蓋率)。Vitest 非常重視效能,並使用工作執行緒盡可能並行執行。一些埠已經看到測試執行速度快了一個數量級。預設啟用監控模式,與 Vite 推動優先開發體驗的方式一致。即使有了所有這些 DX 改進,Vitest 仍透過仔細選擇其依賴項(或直接內嵌所需的片段)來保持輕量級。

Vitest 旨在將自己定位為 Vite 專案的首選測試執行器,即使對於不使用 Vite 的專案,它也是一個可靠的替代方案。

繼續閱讀 入門指南

Vitest 與 X 有何不同?

您可以查看 比較 部分,以取得 Vitest 與其他類似工具之間差異的更多詳細資訊。