Skip to content
Vitest 3
Main Navigation 指南 & API配置瀏覽器模式進階 API
3.2.0
2.1.9
1.6.1
0.34.6

繁體中文

English
简体中文
Español
Français
Русский
Português – Brasil
Deutsch
日本語
한국어
Italiano
Polski
Türkçe
čeština
magyar

繁體中文

English
简体中文
Español
Français
Русский
Português – Brasil
Deutsch
日本語
한국어
Italiano
Polski
Türkçe
čeština
magyar

外觀

Sidebar Navigation

簡介

為何選擇 Vitest

快速入門

功能特色

配置參考

API

測試 API 參考

模擬函式

Vi

expect

expectTypeOf

assert

assertType

指南

命令列介面

測試篩選

測試專案

報告器

程式碼覆蓋率

快照

模擬(Mocking)

平行化

型別測試

Vitest UI

內聯測試

測試上下文

測試註解

測試環境

擴展匹配器

IDE 整合

偵錯

常見錯誤

遷移指南

遷移到 Vitest 3.0

從 Jest 遷移

效能

測試效能分析

提升效能

瀏覽器模式

進階 API

與其他測試執行器的比較

本頁導覽

平行化 ​

檔案平行化 ​

預設情況下,Vitest 會平行執行「測試檔案」。根據指定的 pool 設定,Vitest 會採用不同的機制來平行化測試檔案:

  • forks(預設)和 vmForks 會在不同的 子程序 中執行測試。
  • threads 和 vmThreads 會在不同的 工作執行緒 中執行測試。

「子程序」和「工作執行緒」統稱為「工作者」。您可以使用 minWorkers 和 maxWorkers 選項來設定執行中的工作者數量,或透過 poolOptions 進行更細緻的控制。

如果您有大量的測試,通常平行執行會更快,但這也取決於專案、環境以及 隔離 狀態。若要停用檔案平行化,您可以將 fileParallelism 設定為 false。要了解更多可能的效能提升,請閱讀 效能指南。

測試平行化 ​

與「測試檔案」不同,Vitest 會依序執行單一「測試檔案」中的「測試」。這表示在同一個測試檔案內的測試將按照它們定義的順序執行。

Vitest 支援 concurrent 選項以同時執行測試。如果設定此選項,Vitest 會將相同「檔案」中的並行測試進行分組(同時執行的測試數量取決於 maxConcurrency 選項),並透過 Promise.all 執行。

Vitest 不會執行任何智慧分析,也不會建立額外的工作者來執行這些測試。這表示只有當您大量依賴非同步操作時,測試的效能才會有所提升。例如,即使指定了 concurrent 選項,以下這些測試仍會依序執行,因為它們是同步的:

ts
test.concurrent('the first test', () => {
  expect(1).toBe(1);
});

test.concurrent('the second test', () => {
  expect(2).toBe(2);
});

若您希望同時執行所有測試,可以將 sequence.concurrent 選項設定為 true。

Pager
上一頁模擬(Mocking)
下一頁型別測試

以 MIT 授權條款 發布。

版權所有 (c) 2021-Present Vitest Team

https://vitest.dev/guide/parallelism

以 MIT 授權條款 發布。

版權所有 (c) 2021-Present Vitest Team