Skip to content
Vitest 2
Main Navigation 指南API配置瀏覽器模式高級
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

開始使用

功能特性

工作區

命令列界面

測試過濾器

報告器

覆蓋率

快照

模擬(Mocking)

測試類型

Vitest UI

原始碼測試

測試上下文

測試環境

擴展匹配器

IDE 整合支援

偵錯

與其他測試執行器的比較

遷移指南

常見錯誤

Profiling Test Performance

提升效能

本頁導覽

命令列介面 ​

命令 ​

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.js') 或 import index from './index.js),但不適用於動態匯入(例如 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 ​

僅執行用於比較效能結果的基準測試。

vitest init ​

vitest init <name> 可用於設定專案配置。目前,它僅支援 browser 值:

bash
vitest init browser

vitest list ​

vitest list 命令繼承所有 vitest 選項,用於列印所有匹配測試的列表。此命令會忽略 reporters 選項。預設情況下,它將列印所有符合檔案篩選器和名稱模式的測試名稱:

shell
vitest list filename.spec.ts -t="some-test"
txt
describe > some-test
describe > some-test > test 1
describe > some-test > test 2

您可以傳遞 --json 旗標,以 JSON 格式列印測試或將其儲存到獨立檔案中:

bash
vitest list filename.spec.ts -t="some-test" --json=./file.json

如果 --json 旗標未接收到值,它會將 JSON 輸出到標準輸出(stdout)。

您也可以傳遞 --filesOnly 旗標,以僅列印測試檔案:

bash
vitest list --filesOnly
txt
tests/test1.test.ts
tests/test2.test.ts

選項 ​

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

root ​

  • CLI: -r, --root <path>
  • Config: root

專案根目錄。

config ​

  • CLI: -c, --config <path>

設定檔路徑。

update ​

  • CLI: -u, --update
  • Config: update

更新快照。

watch ​

  • CLI: -w, --watch
  • Config: watch

啟用觀察模式。

testNamePattern ​

  • CLI: -t, --testNamePattern <pattern>
  • Config: testNamePattern

執行名稱符合指定正規表達式模式的測試。

dir ​

  • CLI: --dir <path>
  • Config: dir

掃描測試檔案的基礎目錄。

ui ​

  • CLI: --ui
  • Config: ui

啟用使用者介面 (UI)。

open ​

  • CLI: --open
  • Config: open

自動開啟 UI (預設值: !process.env.CI)。

api.port ​

  • CLI: --api.port [port]

指定伺服器埠號。請注意,若埠號已被佔用,Vite 將自動嘗試下一個可用埠號,因此這可能不是伺服器最終監聽的實際埠號。若設為 true,將設定為 51204。

api.host ​

  • CLI: --api.host [host]

指定伺服器應監聽的 IP 位址。將此設為 0.0.0.0 或 true,以監聽所有位址,包括區域網路和公共位址。

api.strictPort ​

  • CLI: --api.strictPort

若設為 true,如果埠號已被佔用則退出,而非自動嘗試下一個可用埠號。

silent ​

  • CLI: --silent
  • Config: silent

靜默測試的控制台輸出。

hideSkippedTests ​

  • CLI: --hideSkippedTests

隱藏跳過測試的日誌。

reporters ​

  • CLI: --reporter <name>
  • Config: reporters

指定報告器。

outputFile ​

  • CLI: --outputFile <filename/-s>
  • Config: outputFile

當也指定了支援的報告器時,將測試結果寫入檔案。對於多個報告器的個別輸出,請使用 cac 的點表示法(範例:--outputFile.tap=./tap.txt)。

coverage.all ​

  • CLI: --coverage.all
  • Config: coverage.all

是否將所有檔案(包括未經測試的檔案)納入覆蓋率報告。

coverage.provider ​

  • CLI: --coverage.provider <name>
  • Config: coverage.provider

選擇用於覆蓋率收集的工具,可用值為:"v8"、"istanbul" 和 "custom"。

coverage.enabled ​

  • CLI: --coverage.enabled
  • Config: coverage.enabled

啟用覆蓋率收集。可以使用 --coverage CLI 選項覆寫(預設值: false)。

coverage.include ​

  • CLI: --coverage.include <pattern>
  • Config: coverage.include

以 glob 模式包含在覆蓋率中的檔案。當使用多個模式時,可以指定多次(預設值: **)。

coverage.exclude ​

  • CLI: --coverage.exclude <pattern>
  • Config: coverage.exclude

從覆蓋率中排除的檔案。當使用多個副檔名時,可以指定多次(預設值: 請參閱 coverage.exclude)。

coverage.extension ​

  • CLI: --coverage.extension <extension>
  • Config: coverage.extension

包含在覆蓋率中的副檔名。當使用多個副檔名時,可以指定多次(預設值: [".js", ".cjs", ".mjs", ".ts", ".mts", ".tsx", ".jsx", ".vue", ".svelte"])。

coverage.clean ​

  • CLI: --coverage.clean
  • Config: coverage.clean

在執行測試前清除覆蓋率結果(預設值: true)。

coverage.cleanOnRerun ​

  • CLI: --coverage.cleanOnRerun
  • Config: coverage.cleanOnRerun

在觀察模式重新執行時清除覆蓋率報告(預設值: true)。

coverage.reportsDirectory ​

  • CLI: --coverage.reportsDirectory <path>
  • Config: coverage.reportsDirectory

寫入覆蓋率報告的目錄(預設值: ./coverage)。

coverage.reporter ​

  • CLI: --coverage.reporter <name>
  • Config: coverage.reporter

要使用的覆蓋率報告器。請參閱 coverage.reporter 以獲取更多資訊(預設值: ["text", "html", "clover", "json"])。

coverage.reportOnFailure ​

  • CLI: --coverage.reportOnFailure
  • Config: coverage.reportOnFailure

即使測試失敗也生成覆蓋率報告(預設值: false)。

coverage.allowExternal ​

  • CLI: --coverage.allowExternal
  • Config: coverage.allowExternal

收集專案根目錄之外檔案的覆蓋率(預設值: false)。

coverage.skipFull ​

  • CLI: --coverage.skipFull
  • Config: coverage.skipFull

不顯示語句、分支和函數覆蓋率達到 100% 的檔案(預設值: false)。

coverage.thresholds.100 ​

  • CLI: --coverage.thresholds.100
  • Config: coverage.thresholds.100

將所有覆蓋率閾值設定為 100 的捷徑(預設值: false)。

coverage.thresholds.perFile ​

  • CLI: --coverage.thresholds.perFile
  • Config: coverage.thresholds.perFile

檢查每個檔案的閾值。請參閱 --coverage.thresholds.lines、--coverage.thresholds.functions、--coverage.thresholds.branches 和 --coverage.thresholds.statements 以獲取實際閾值(預設值: false)。

coverage.thresholds.autoUpdate ​

  • CLI: --coverage.thresholds.autoUpdate
  • Config: coverage.thresholds.autoUpdate

當當前覆蓋率高於配置的閾值時,更新配置檔案中的 "lines"、"functions"、"branches" 和 "statements" 閾值(預設值: false)。

coverage.thresholds.lines ​

  • CLI: --coverage.thresholds.lines <number>

行數覆蓋率閾值。請參閱 istanbuljs 以獲取更多資訊。此選項不適用於自訂提供者。

coverage.thresholds.functions ​

  • CLI: --coverage.thresholds.functions <number>

函數覆蓋率閾值。請參閱 istanbuljs 以獲取更多資訊。此選項不適用於自訂提供者。

coverage.thresholds.branches ​

  • CLI: --coverage.thresholds.branches <number>

分支覆蓋率閾值。請參閱 istanbuljs 以獲取更多資訊。此選項不適用於自訂提供者。

coverage.thresholds.statements ​

  • CLI: --coverage.thresholds.statements <number>

語句覆蓋率閾值。請參閱 istanbuljs 以獲取更多資訊。此選項不適用於自訂提供者。

coverage.ignoreClassMethods ​

  • CLI: --coverage.ignoreClassMethods <name>
  • Config: coverage.ignoreClassMethods

要忽略覆蓋率的類別方法名稱陣列。請參閱 istanbuljs 以獲取更多資訊。此選項僅適用於 istanbul 提供者(預設值: [])。

coverage.processingConcurrency ​

  • CLI: --coverage.processingConcurrency <number>
  • Config: coverage.processingConcurrency

處理覆蓋率結果時使用的並行限制。(預設值為 20 和 CPU 數量的最小值)。

coverage.customProviderModule ​

  • CLI: --coverage.customProviderModule <path>
  • Config: coverage.customProviderModule

指定自訂覆蓋率提供者模組的名稱或路徑。請參閱 Custom Coverage Provider 以獲取更多資訊。此選項僅適用於自訂提供者。

coverage.watermarks.statements ​

  • CLI: --coverage.watermarks.statements <watermarks>

語句覆蓋率的高低水位線,格式為 <high>,<low>。

coverage.watermarks.lines ​

  • CLI: --coverage.watermarks.lines <watermarks>

行數覆蓋率的高低水位線,格式為 <high>,<low>。

coverage.watermarks.branches ​

  • CLI: --coverage.watermarks.branches <watermarks>

分支覆蓋率的高低水位線,格式為 <high>,<low>。

coverage.watermarks.functions ​

  • CLI: --coverage.watermarks.functions <watermarks>

函數覆蓋率的高低水位線,格式為 <high>,<low>。

mode ​

  • CLI: --mode <name>
  • Config: mode

覆寫 Vite 模式(預設值: test 或 benchmark)。

workspace ​

  • CLI: --workspace <path>
  • Config: workspace

工作區設定檔的路徑。

isolate ​

  • CLI: --isolate
  • Config: isolate

獨立執行每個測試檔案。要禁用隔離,請使用 --no-isolate(預設值: true)。

globals ​

  • CLI: --globals
  • Config: globals

全域注入 API。

dom ​

  • CLI: --dom

使用 happy-dom 模擬瀏覽器 API。

browser.enabled ​

  • CLI: --browser.enabled
  • Config: browser.enabled

在瀏覽器中執行測試。等同於 --browser.enabled(預設值: false)。

browser.name ​

  • CLI: --browser.name <name>
  • Config: browser.name

在特定瀏覽器中執行所有測試。某些瀏覽器僅適用於特定提供者(請參閱 --browser.provider)。請參閱 browser.name 以獲取更多資訊。

browser.headless ​

  • CLI: --browser.headless
  • Config: browser.headless

以無頭模式(即不開啟圖形使用者介面)執行瀏覽器。如果您在 CI 中執行 Vitest,它將預設啟用(預設值: process.env.CI)。

browser.api.port ​

  • CLI: --browser.api.port [port]
  • Config: browser.api.port

指定伺服器埠號。請注意,若埠號已被佔用,Vite 將自動嘗試下一個可用埠號,因此這可能不是伺服器最終監聽的實際埠號。若設為 true,將設定為 63315。

browser.api.host ​

  • CLI: --browser.api.host [host]
  • Config: browser.api.host

指定伺服器應監聽的 IP 位址。將此設為 0.0.0.0 或 true,以監聽所有位址,包括區域網路和公共位址。

browser.api.strictPort ​

  • CLI: --browser.api.strictPort
  • Config: browser.api.strictPort

若設為 true,如果埠號已被佔用則退出,而非自動嘗試下一個可用埠號。

browser.provider ​

  • CLI: --browser.provider <name>
  • Config: browser.provider

用於執行瀏覽器測試的提供者。某些瀏覽器僅適用於特定提供者。可以是 "webdriverio"、"playwright"、"preview",或自訂提供者的路徑。請參閱 browser.provider 以獲取更多資訊(預設值: "preview")。

browser.providerOptions ​

  • CLI: --browser.providerOptions <options>
  • Config: browser.providerOptions

傳遞給瀏覽器提供者的選項。請參閱 browser.providerOptions 以獲取更多資訊。

browser.isolate ​

  • CLI: --browser.isolate
  • Config: browser.isolate

獨立執行每個瀏覽器測試檔案。要禁用隔離,請使用 --browser.isolate=false(預設值: true)。

browser.ui ​

  • CLI: --browser.ui
  • Config: browser.ui

執行測試時顯示 Vitest UI(預設值: !process.env.CI)。

browser.fileParallelism ​

  • CLI: --browser.fileParallelism
  • Config: browser.fileParallelism

瀏覽器測試檔案是否應並行執行。使用 --browser.fileParallelism=false 禁用(預設值: true)。

pool ​

  • CLI: --pool <pool>
  • Config: pool

指定測試池,如果不在瀏覽器中執行(預設值: threads)。

poolOptions.threads.isolate ​

  • CLI: --poolOptions.threads.isolate
  • Config: poolOptions.threads.isolate

在執行緒池中隔離測試(預設值: true)。

poolOptions.threads.singleThread ​

  • CLI: --poolOptions.threads.singleThread
  • Config: poolOptions.threads.singleThread

在單一執行緒內執行測試(預設值: false)。

poolOptions.threads.maxThreads ​

  • CLI: --poolOptions.threads.maxThreads <workers>
  • Config: poolOptions.threads.maxThreads

執行測試的最大執行緒數或百分比。

poolOptions.threads.minThreads ​

  • CLI: --poolOptions.threads.minThreads <workers>
  • Config: poolOptions.threads.minThreads

執行測試的最小執行緒數或百分比。

poolOptions.threads.useAtomics ​

  • CLI: --poolOptions.threads.useAtomics
  • Config: poolOptions.threads.useAtomics

使用 Atomics 同步執行緒。這在某些情況下可以提高效能,但可能導致舊版 Node 中出現區段錯誤(預設值: false)。

poolOptions.vmThreads.isolate ​

  • CLI: --poolOptions.vmThreads.isolate
  • Config: poolOptions.vmThreads.isolate

在 VM 執行緒池中隔離測試(預設值: true)。

poolOptions.vmThreads.singleThread ​

  • CLI: --poolOptions.vmThreads.singleThread
  • Config: poolOptions.vmThreads.singleThread

在單一 VM 執行緒內執行測試(預設值: false)。

poolOptions.vmThreads.maxThreads ​

  • CLI: --poolOptions.vmThreads.maxThreads <workers>
  • Config: poolOptions.vmThreads.maxThreads

執行測試的最大 VM 執行緒數或百分比。

poolOptions.vmThreads.minThreads ​

  • CLI: --poolOptions.vmThreads.minThreads <workers>
  • Config: poolOptions.vmThreads.minThreads

執行測試的最小 VM 執行緒數或百分比。

poolOptions.vmThreads.useAtomics ​

  • CLI: --poolOptions.vmThreads.useAtomics
  • Config: poolOptions.vmThreads.useAtomics

使用 Atomics 同步 VM 執行緒。這在某些情況下可以提高效能,但可能導致舊版 Node 中出現區段錯誤(預設值: false)。

poolOptions.vmThreads.memoryLimit ​

  • CLI: --poolOptions.vmThreads.memoryLimit <limit>
  • Config: poolOptions.vmThreads.memoryLimit

VM 執行緒池的記憶體限制。如果您看到記憶體洩漏,請嘗試調整此值。

poolOptions.forks.isolate ​

  • CLI: --poolOptions.forks.isolate
  • Config: poolOptions.forks.isolate

在 forks 池中隔離測試(預設值: true)。

poolOptions.forks.singleFork ​

  • CLI: --poolOptions.forks.singleFork
  • Config: poolOptions.forks.singleFork

在單一子程序內執行測試(預設值: false)。

poolOptions.forks.maxForks ​

  • CLI: --poolOptions.forks.maxForks <workers>
  • Config: poolOptions.forks.maxForks

執行測試的最大程序數或百分比。

poolOptions.forks.minForks ​

  • CLI: --poolOptions.forks.minForks <workers>
  • Config: poolOptions.forks.minForks

執行測試的最小程序數或百分比。

poolOptions.vmForks.isolate ​

  • CLI: --poolOptions.vmForks.isolate
  • Config: poolOptions.vmForks.isolate

在 VM forks 池中隔離測試(預設值: true)。

poolOptions.vmForks.singleFork ​

  • CLI: --poolOptions.vmForks.singleFork
  • Config: poolOptions.vmForks.singleFork

在單一 VM 子程序內執行測試(預設值: false)。

poolOptions.vmForks.maxForks ​

  • CLI: --poolOptions.vmForks.maxForks <workers>
  • Config: poolOptions.vmForks.maxForks

執行測試的最大 VM 程序數或百分比。

poolOptions.vmForks.minForks ​

  • CLI: --poolOptions.vmForks.minForks <workers>
  • Config: poolOptions.vmForks.minForks

執行測試的最小 VM 程序數或百分比。

poolOptions.vmForks.memoryLimit ​

  • CLI: --poolOptions.vmForks.memoryLimit <limit>
  • Config: poolOptions.vmForks.memoryLimit

VM forks 池的記憶體限制。如果您看到記憶體洩漏,請嘗試調整此值。

fileParallelism ​

  • CLI: --fileParallelism
  • Config: fileParallelism

所有測試檔案是否應並行執行。使用 --no-file-parallelism 禁用(預設值: true)。

maxWorkers ​

  • CLI: --maxWorkers <workers>
  • Config: maxWorkers

執行測試的最大工作者數或百分比。

minWorkers ​

  • CLI: --minWorkers <workers>
  • Config: minWorkers

執行測試的最小工作者數或百分比。

environment ​

  • CLI: --environment <name>
  • Config: environment

指定執行器環境,如果不在瀏覽器中執行(預設值: node)。

passWithNoTests ​

  • CLI: --passWithNoTests
  • Config: passWithNoTests

未找到測試時視為通過。

logHeapUsage ​

  • CLI: --logHeapUsage
  • Config: logHeapUsage

在 Node 中執行時顯示每個測試的堆積使用量。

allowOnly ​

  • CLI: --allowOnly
  • Config: allowOnly

允許標記為 only 的測試和套件(預設值: !process.env.CI)。

dangerouslyIgnoreUnhandledErrors ​

  • CLI: --dangerouslyIgnoreUnhandledErrors
  • Config: dangerouslyIgnoreUnhandledErrors

忽略所有未處理的錯誤。

sequence.shuffle.files ​

  • CLI: --sequence.shuffle.files
  • Config: sequence.shuffle.files

以隨機順序執行檔案。如果啟用此選項,長時間執行的測試將不會提早開始。(預設值: false)。

sequence.shuffle.tests ​

  • CLI: --sequence.shuffle.tests
  • Config: sequence.shuffle.tests

以隨機順序執行測試(預設值: false)。

sequence.concurrent ​

  • CLI: --sequence.concurrent
  • Config: sequence.concurrent

使測試並行執行(預設值: false)。

sequence.seed ​

  • CLI: --sequence.seed <seed>
  • Config: sequence.seed

設定隨機化種子。若 --sequence.shuffle 為假值,此選項將無效。請參閱 "Random Seed" 頁面 以獲取更多資訊。

sequence.hooks ​

  • CLI: --sequence.hooks <order>
  • Config: sequence.hooks

更改 hook 的執行順序。接受的值為:"stack"、"list" 和 "parallel"。請參閱 sequence.hooks 以獲取更多資訊(預設值: "parallel")。

sequence.setupFiles ​

  • CLI: --sequence.setupFiles <order>
  • Config: sequence.setupFiles

更改設定檔案的執行順序。接受的值為:"list" 和 "parallel"。如果設定為 "list",將按照定義的順序執行設定檔案。如果設定為 "parallel",將並行執行設定檔案(預設值: "parallel")。

inspect ​

  • CLI: --inspect [[host:]port]
  • Config: inspect

啟用 Node.js 偵測器(預設值: 127.0.0.1:9229)。

inspectBrk ​

  • CLI: --inspectBrk [[host:]port]
  • Config: inspectBrk

啟用 Node.js 偵測器並在測試開始前中斷。

testTimeout ​

  • CLI: --testTimeout <timeout>
  • Config: testTimeout

測試的預設逾時時間(毫秒)(預設值: 5000)。

hookTimeout ​

  • CLI: --hookTimeout <timeout>
  • Config: hookTimeout

預設 hook 逾時時間(毫秒)(預設值: 10000)。

bail ​

  • CLI: --bail <number>
  • Config: bail

當指定數量的測試失敗時停止測試執行(預設值: 0)。

retry ​

  • CLI: --retry <times>
  • Config: retry

若測試失敗,重試指定次數(預設值: 0)。

diff ​

  • CLI: --diff <path>
  • Config: diff

用於生成差異介面的差異設定檔路徑。

exclude ​

  • CLI: --exclude <glob>
  • Config: exclude

要從測試中排除的額外檔案 glob 模式。

expandSnapshotDiff ​

  • CLI: --expandSnapshotDiff
  • Config: expandSnapshotDiff

快照失敗時顯示完整差異。

disableConsoleIntercept ​

  • CLI: --disableConsoleIntercept
  • Config: disableConsoleIntercept

禁用控制台日誌的自動攔截(預設值: false)。

typecheck.enabled ​

  • CLI: --typecheck.enabled
  • Config: typecheck.enabled

在測試同時啟用型別檢查(預設值: false)。

typecheck.only ​

  • CLI: --typecheck.only
  • Config: typecheck.only

僅執行型別檢查測試。這會自動啟用型別檢查(預設值: false)。

typecheck.checker ​

  • CLI: --typecheck.checker <name>
  • Config: typecheck.checker

指定要使用的型別檢查器。可用值為:"tsc" 和 "vue-tsc" 以及可執行檔的路徑(預設值: "tsc")。

typecheck.allowJs ​

  • CLI: --typecheck.allowJs
  • Config: typecheck.allowJs

允許對 JavaScript 檔案進行型別檢查。預設情況下從 tsconfig.json 中獲取值。

typecheck.ignoreSourceErrors ​

  • CLI: --typecheck.ignoreSourceErrors
  • Config: typecheck.ignoreSourceErrors

忽略來自原始碼檔案的型別錯誤。

typecheck.tsconfig ​

  • CLI: --typecheck.tsconfig <path>
  • Config: typecheck.tsconfig

自訂 tsconfig 檔案的路徑。

project ​

  • CLI: --project <name>
  • Config: project

若您使用 Vitest 工作區功能,要執行的專案名稱。這可以重複用於多個專案:--project=1 --project=2。您也可以使用萬用字元過濾專案,例如 --project=packages*。

slowTestThreshold ​

  • CLI: --slowTestThreshold <threshold>
  • Config: slowTestThreshold

測試被視為慢速的閾值(毫秒)(預設值: 300)。

teardownTimeout ​

  • CLI: --teardownTimeout <timeout>
  • Config: teardownTimeout

拆卸函數的預設逾時時間(毫秒)(預設值: 10000)。

maxConcurrency ​

  • CLI: --maxConcurrency <number>
  • Config: maxConcurrency

套件中並行測試的最大數量(預設值: 5)。

expect.requireAssertions ​

  • CLI: --expect.requireAssertions
  • Config: expect.requireAssertions

要求所有測試至少有一個斷言。

expect.poll.interval ​

  • CLI: --expect.poll.interval <interval>
  • Config: expect.poll.interval

expect.poll() 斷言的輪詢間隔(毫秒)(預設值: 50)。

expect.poll.timeout ​

  • CLI: --expect.poll.timeout <timeout>
  • Config: expect.poll.timeout

expect.poll() 斷言的輪詢逾時時間(毫秒)(預設值: 1000)。

printConsoleTrace ​

  • CLI: --printConsoleTrace
  • Config: printConsoleTrace

始終列印控制台堆疊追蹤。

run ​

  • CLI: --run

禁用觀察模式。

color ​

  • CLI: --no-color

從控制台輸出中移除顏色。

clearScreen ​

  • CLI: --clearScreen

在觀察模式下重新執行測試時清除終端螢幕(預設值: true)。

standalone ​

  • CLI: --standalone

啟動 Vitest 而不執行測試。檔案過濾器將被忽略,測試只會在變更時執行(預設值: false)。

changed ​

  • 類型:boolean | string
  • 預設:false

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

若要針對上次提交中進行的變更執行測試,您可以使用 --changed HEAD~1。您也可以傳遞提交雜湊值(例如 --changed 09a9920)或分支名稱(例如 --changed origin/develop)。

與程式碼覆蓋率搭配使用時,報告將僅包含與變更相關的檔案。

如果與 forceRerunTriggers 配置選項搭配使用,只要 forceRerunTriggers 列表中至少有一個檔案發生變更,它就會執行整個測試套件。預設情況下,Vitest 配置檔案和 package.json 的變更將始終重新執行整個套件。

shard ​

  • 類型:string
  • 預設:disabled

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

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

此命令會將所有測試分成 count 個相等的部分,並且僅執行位於 index 部分的測試。例如,要將您的測試套件分成三部分,請使用:

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

WARNING

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

TIP

如果 --reporter=blob 在未指定輸出檔案的情況下使用,預設路徑將包含目前的分片配置,以避免與其他 Vitest 處理程序發生衝突。

merge-reports ​

  • 類型: boolean | string

合併指定資料夾(預設為 .vitest-reports)中的所有 blob 報告。您可以將任何報告器與此命令搭配使用(blob 除外):

sh
vitest --merge-reports --reporter=junit

[cac 的點表示法]:https://github.com/cacjs/cac#dot-nested-options

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

以 MIT 授權條款 發布。

版權所有 (c) 2024 Mithril Contributors

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

以 MIT 授權條款 發布。

版權所有 (c) 2024 Mithril Contributors