Skip to content
Vitest 0
Main Navigation 指南API配置高級
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

開始使用

功能特性

工作區

命令列界面

測試過濾器

覆蓋率

快照

模擬(Mocking)

型別測試

Vitest UI

瀏覽器模式 (實驗性)

原始碼測試

測試上下文

測試環境

擴展匹配器

IDE 整合支援

偵錯

與其他測試執行器的比較

遷移指南

常見錯誤

API

測試 API 參考文件

模擬函數 (Mock Functions)

Vi

expect

expectTypeOf

assertType

配置

配置 Vitest

本頁導覽

命令列界面 ​

命令 ​

vitest ​

在當前目錄啟動 Vitest。在開發環境中會自動進入監聽模式,在 CI 環境中會進入執行模式。

您可以傳遞額外的參數作為要執行的測試檔案的篩選條件。例如:

bash
vitest foobar

只會執行路徑中包含 foobar 的測試檔案。此篩選器僅檢查是否包含,不支援正規表示式或 glob 模式(除非您的終端在 Vitest 收到篩選器之前處理它)。

vitest run ​

執行一次,不進入監聽模式。

vitest watch ​

執行所有測試套件,並監聽變更,在變更時重新執行測試。與不帶參數呼叫 vitest 相同。在 CI 環境中會自動切換到 vitest run。

vitest dev ​

vitest watch 的別名。

vitest related ​

僅執行針對一系列原始碼檔案的測試。適用於靜態引入(例如,import('./index.ts') 或 import index from './index.ts),但不適用於動態引入(例如,import(filepath))。所有檔案都應該相對於根目錄。

可與 lint-staged 或您的 CI 設定一起使用。

bash
vitest related /src/index.ts /src/hello-world.js

TIP

別忘了 Vitest 預設是啟用監聽模式執行。如果您使用像 lint-staged 這樣的工具,您也應該傳遞 --run 選項,以便命令能夠正常結束。

js
// .lintstagedrc.js
export default {
  '*.{js,ts}': 'vitest related --run',
};

vitest bench ​

僅執行 基準測試,比較效能結果。

選項 ​

選項
-v, --version顯示版本號
-r, --root <path>定義專案根目錄
-c, --config <path>設定檔路徑
-u, --update更新快照
-w, --watch智慧型 & 即時監聽模式
-t, --testNamePattern <pattern>執行完整名稱符合模式的測試
--dir <path>掃描測試檔案的根目錄
--ui啟用 UI
--open如果已啟用,會自動開啟 UI(預設:true)
--api [api]提供 API 服務,可用的選項包括:--api.port <port>、--api.host [host] 和 --api.strictPort
--threads啟用多執行緒(預設:true)
--single-thread在單個執行緒中執行測試,需啟用 --threads(預設:false)
--experimental-vm-threads在 worker 池中使用 VM 隔離執行測試(預設:false)
--experimental-vm-worker-memory-limit設定 worker 允許的最大記憶體。達到時,將建立一個新的 worker
--silent靜默顯示測試的主控台輸出
--isolate為每個測試檔案隔離環境(預設:true)
--reporter <name>選擇報告器:default、verbose、dot、junit、json 或指定自訂報告器的路徑
--outputFile <filename/-s>當同時指定 --reporter=json 或 --reporter=junit 選項時,將測試結果寫入檔案中。
透過 [cac 的點記法],您可以為多個報告器指定個別的輸出
--coverage啟用測試覆蓋率報告
--run不啟用監聽模式
--mode覆蓋 Vite 模式(預設:test)
--mode <name>覆蓋 Vite 模式(預設:test)
--globals全域性注入 API
--dom使用 happy-dom 模擬瀏覽器的 API
--browser [options]在 瀏覽器 中執行測試(預設:false)
--environment <env>執行環境(預設:node)
--passWithNoTests當未找到測試時通過
--logHeapUsage顯示每個測試的堆積記憶體使用情況
--allowOnly允許標記為 only 的測試和套件 (在 CI 環境中預設為 false,其他情況則為 true)
--dangerouslyIgnoreUnhandledErrors忽略任何未處理的錯誤
--changed [since]執行受變更檔案影響的測試 (預設:false)。請參閱 說明文件
--shard <shard>在指定的分片中執行測試
--sequence指定執行測試的順序。使用 [cac 的點記法] 來指定選項(例如,使用 --sequence.shuffle 以隨機順序執行測試,或 --sequence.shuffle --sequence.seed SEED_ID 以執行特定順序)
--no-color從主控台輸出中去除顏色
--inspect啟用 Node.js 除錯器
--inspect-brk啟用帶斷點的 Node.js 除錯器
--bail <number>當指定數量的測試失敗時停止執行測試
--retry <times>如果測試失敗,則重試指定的次數
-h, --help顯示所有可用的 CLI 選項

TIP

Vitest 支援 CLI 參數的駝峰式和連字號式寫法。例如,--passWithNoTests 和 --pass-with-no-tests 都是有效的(--no-color 和 --inspect-brk 是例外)。

Vitest 也支援以不同方式指定值:--reporter dot 和 --reporter=dot 都是有效的。

如果選項支援值陣列,您需要多次指定該選項:

vitest --reporter=dot --reporter=default

布林選項可以使用 no- 前綴來反轉。將值指定為 false 也是有效的:

vitest --no-api
vitest --api=false

changed ​

  • 類型: boolean | string

  • 預設值: false

    僅針對已變更的檔案執行測試。如果未提供值,將針對未提交的變更 (包含已暫存和未暫存的變更) 執行測試。

    若要針對上次提交所做的變更執行測試,可以使用 --changed HEAD~1。您也可以傳遞提交雜湊值或分支名稱。

    如果與 forceRerunTriggers 配置選項一起使用,且找到符合的項目,則會執行整個測試套件。

shard ​

  • 類型: string

  • 預設值: 已停用

    要執行的測試套件分片,格式為 <index>/<count>,其中

    • count 是一個正整數,表示分割部分的計數
    • index 是一個正整數,表示分割部分的索引

    此命令會將所有測試分割為 count 個相同的部分,並且只會執行位於 index 部分中的測試。例如,若要將您的測試套件分成三個部分,請使用以下命令:

    sh
    vitest run --shard=1/3
    vitest run --shard=2/3
    vitest run --shard=3/3

WARNING

您不能在啟用 --watch 的情況下使用此選項 (此選項在開發環境中預設為啟用 --watch)。

Pager
上一頁工作區
下一頁測試過濾器

以 MIT 授權條款 發布。

版權所有 (c) 2024 Mithril Contributors

https://v0.vitest.dev/guide/cli

以 MIT 授權條款 發布。

版權所有 (c) 2024 Mithril Contributors