提升效能
預設情況下,Vitest 會根據 池 在隔離的環境中執行每個測試檔案
threads
池會在個別的Worker
中執行每個測試檔案forks
池會在個別的 分岔子處理程序 中執行每個測試檔案vmThreads
池在個別 VM 環境 中執行每個測試檔案,但它使用工作執行緒來進行平行處理
這會大幅增加測試時間,對於不依賴副作用且適當清理其狀態的專案而言,這可能並非理想(通常適用於具有 node
環境的專案)。在這種情況下,停用隔離將會提升測試速度。為此,您可以提供 --no-isolate
旗標給 CLI,或將設定檔中的 test.isolate
屬性設為 false
。如果您同時使用多個池與 poolMatchGlobs
,您也可以停用您正在使用的特定池的隔離。
bash
vitest --no-isolate
ts
import { defineConfig } from 'vitest/config'
export default defineConfig({
test: {
isolate: false,
// you can also disable isolation only for specific pools
poolOptions: {
forks: {
isolate: false,
},
},
},
})
提示
如果您正在使用 vmThreads
池,您無法停用隔離。改用 threads
池來提升測試效能。
對於某些專案而言,停用平行處理以提升啟動時間也可能是理想的。為此,請提供 --no-file-parallelism
旗標給 CLI,或將設定檔中的 test.fileParallelism
屬性設為 false
。
bash
vitest --no-file-parallelism
ts
import { defineConfig } from 'vitest/config'
export default defineConfig({
test: {
fileParallelism: false,
},
})