命令列介面
命令
vitest
在目前目錄中啟動 Vitest。在開發環境中會自動進入監看模式,而在 CI 環境中則會自動進入執行模式。
您可以傳遞額外參數作為要執行的測試檔案篩選條件。例如:
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 設定搭配使用。
vitest related /src/index.ts /src/hello-world.js
TIP
請注意,Vitest 預設會啟用監看模式執行。如果您使用 lint-staged
等工具,則應同時傳遞 --run
選項,以便命令能夠正常結束。
// .lintstagedrc.js
export default {
'*.{js,ts}': 'vitest related --run',
};
vitest bench
僅執行用於比較效能結果的基準測試。
vitest init
vitest init <name>
可用於設定專案配置。目前,它僅支援 browser
值:
vitest init browser
vitest list
vitest list
命令繼承所有 vitest
選項,用於列印所有匹配測試的列表。此命令會忽略 reporters
選項。預設情況下,它將列印所有符合檔案篩選器和名稱模式的測試名稱:
vitest list filename.spec.ts -t="some-test"
describe > some-test
describe > some-test > test 1
describe > some-test > test 2
您可以傳遞 --json
旗標,以 JSON 格式列印測試或將其儲存到獨立檔案中:
vitest list filename.spec.ts -t="some-test" --json=./file.json
如果 --json
旗標未接收到值,它會將 JSON 輸出到標準輸出(stdout)。
您也可以傳遞 --filesOnly
旗標,以僅列印測試檔案:
vitest list --filesOnly
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
部分的測試。例如,要將您的測試套件分成三部分,請使用:
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
除外):
vitest --merge-reports --reporter=junit
[cac 的點表示法]:https://github.com/cacjs/cac#dot-nested-options