Skip to content
Vitest 3
Main Navigation Guida & APIConfigurazioneModalità BrowserAPI avanzata
3.2.0
2.1.9
1.6.1
0.34.6

Italiano

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

Italiano

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

Aspetto

Sidebar Navigation

Introduzione

Perché Vitest

Per Iniziare

Caratteristiche

Configurazione di Vitest

API

Riferimento API di test

Funzioni Mock

Vi

expect

expectTypeOf

assert

assertType

Guida

Interfaccia a Riga di Comando

Filtro dei Test

Progetti di Test

Reporter

Copertura

Snapshot

Mocking

Parallelismo

Tipi di Test

Vitest UI

Test nel Codice Sorgente

Contesto di Test

Annotazioni dei Test

Ambiente di Test

Estensione dei Matcher

Integrazioni IDE

Debugging

Errori Comuni

Guida alla Migrazione

Migrazione a Vitest 3.0

Migrazione da Jest

Prestazioni

Profilazione delle prestazioni dei test

Ottimizzare le Prestazioni

Modalità Browser

API Avanzate

Confronto con Altri Test Runner

In questa pagina

Interfaccia a Riga di Comando ​

Comandi ​

vitest ​

Avvia Vitest nella directory corrente. Passerà automaticamente alla modalità watch nell'ambiente di sviluppo e alla modalità run in CI (o terminale non interattivo).

È possibile passare un argomento aggiuntivo come filtro per i file di test da eseguire. Ad esempio:

bash
vitest foobar

Eseguirà solo i file di test il cui percorso contiene foobar. Questo filtro controlla solo l'inclusione e non supporta espressioni regolari o modelli glob (a meno che il terminale non li elabori prima che Vitest riceva il filtro).

A partire da Vitest 3, è possibile specificare il test anche per nome del file e numero di riga:

bash
$ vitest basic/foo.test.ts:10

WARNING

Si noti che Vitest richiede il nome completo del file affinché questa funzionalità operi correttamente. Può essere un percorso relativo alla directory di lavoro corrente o un percorso file assoluto.

bash
$ vitest basic/foo.js:10 # ✅
$ vitest ./basic/foo.js:10 # ✅
$ vitest /users/project/basic/foo.js:10 # ✅
$ vitest foo:10 # ❌
$ vitest ./basic/foo:10 # ❌

Al momento Vitest non supporta neanche gli intervalli di righe:

bash
$ vitest basic/foo.test.ts:10, basic/foo.test.ts:25 # ✅
$ vitest basic/foo.test.ts:10-25 # ❌

vitest run ​

Esegue una singola sessione di test senza la modalità watch.

vitest watch ​

Esegue tutte le suite di test, monitora le modifiche ai file e riesegue i test in caso di rilevamento di modifiche. È equivalente a chiamare vitest senza argomenti. Ripiegherà su vitest run in ambienti CI o quando lo stdin non è un TTY (ambiente non interattivo).

vitest dev ​

Alias per vitest watch.

vitest related ​

Esegue solo i test che coprono un elenco di file sorgente specificati. Funziona con importazioni statiche (es. import('./index.js') o import index from './index.js')), ma non con quelle dinamiche (es. import(filepath)). Tutti i file devono essere relativi alla directory root del progetto.

Utile per l'esecuzione con lint-staged o in configurazioni CI.

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

TIP

Non dimenticare che Vitest esegue in modalità watch per impostazione predefinita. Se stai usando strumenti come lint-staged, è consigliabile passare anche l'opzione --run, affinché il comando possa terminare correttamente.

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

vitest bench ​

Esegue solo i test di benchmark, che confrontano le prestazioni.

vitest init ​

vitest init <name> consente di configurare il progetto. Attualmente, supporta solo il valore browser:

bash
vitest init browser

vitest list ​

Il comando vitest list eredita tutte le opzioni di vitest per stampare l'elenco di tutti i test corrispondenti. Questo comando esclude l'opzione reporters. Per impostazione predefinita, stamperà i nomi di tutti i test che corrispondono al filtro file e al modello di nome:

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

È possibile utilizzare il flag --json per stampare i test in formato JSON o salvarli in un file separato:

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

Se al flag --json non viene specificato un valore, l'output JSON sarà inviato a stdout.

È anche possibile passare il flag --filesOnly per visualizzare solo i file di test:

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

Opzioni ​

TIP

Vitest supporta sia il formato camelCase che kebab-case per gli argomenti della CLI. Ad esempio, --passWithNoTests e --pass-with-no-tests saranno entrambi validi (--no-color e --inspect-brk sono le eccezioni).

Vitest supporta anche diverse sintassi per specificare il valore: --reporter dot e --reporter=dot sono entrambi validi.

Se un'opzione supporta un array di valori, è necessario specificare l'opzione più volte:

vitest --reporter=dot --reporter=default

Le opzioni booleane possono essere negate con il prefisso no-. Anche specificare il valore come false è valido:

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

root ​

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

Directory radice del progetto.

config ​

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

Percorso del file di configurazione.

update ​

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

Aggiorna gli snapshot.

watch ​

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

Abilita la modalità di monitoraggio (watch mode).

testNamePattern ​

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

Esegue solo i test i cui nomi completi corrispondono al pattern di espressione regolare specificato.

dir ​

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

Directory di base da scansionare per i file di test.

ui ​

  • CLI: --ui
  • Config: ui

Abilita l'interfaccia utente (UI).

open ​

  • CLI: --open
  • Config: open

Apre automaticamente l'interfaccia utente (predefinito: !process.env.CI).

api.port ​

  • CLI: --api.port [port]

Specifica la porta del server. Nota: se la porta è già in uso, Vite tenterà automaticamente la porta successiva disponibile, quindi questa potrebbe non essere la porta effettiva su cui il server sarà in ascolto. Se impostato su true, verrà impostata a 51204.

api.host ​

  • CLI: --api.host [host]

Specifica su quali indirizzi IP il server dovrebbe mettersi in ascolto. Imposta su 0.0.0.0 o true per ascoltare su tutti gli indirizzi, inclusi quelli LAN e pubblici.

api.strictPort ​

  • CLI: --api.strictPort

Imposta su true per uscire se la porta è già in uso, invece di provare automaticamente la porta successiva disponibile.

silent ​

  • CLI: --silent [value]
  • Config: silent

Sopprime l'output della console dai test. Usa 'passed-only' per visualizzare i log solo dai test falliti.

hideSkippedTests ​

  • CLI: --hideSkippedTests

Nasconde i log dei test saltati.

reporters ​

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

Specifica i "reporter" (default, basic, blob, verbose, dot, json, tap, tap-flat, junit, hanging-process, github-actions).

outputFile ​

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

Scrive i risultati dei test su un file quando è specificato anche un reporter supportato. Utilizza la "dot notation" di cac per gli output individuali di più reporter (esempio: --outputFile.tap=./tap.txt).

coverage.all ​

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

Indica se includere tutti i file, compresi quelli non testati, nel report di copertura.

coverage.provider ​

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

Seleziona lo strumento per la raccolta della copertura. I valori disponibili sono: "v8", "istanbul" e "custom".

coverage.enabled ​

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

Abilita la raccolta della copertura. Può essere sovrascritto usando l'opzione CLI --coverage (predefinito: false).

coverage.include ​

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

File da includere nella copertura come pattern glob. Può essere specificato più volte per utilizzare pattern multipli (predefinito: **).

coverage.exclude ​

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

File da escludere dalla copertura. Può essere specificato più volte per utilizzare pattern multipli (predefinito: visita coverage.exclude).

coverage.extension ​

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

Estensioni dei file da includere nella copertura. Può essere specificata più volte per utilizzare estensioni multiple (predefinito: [".js", ".cjs", ".mjs", ".ts", ".mts", ".tsx", ".jsx", ".vue", ".svelte"]).

coverage.clean ​

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

Cancella i risultati della copertura prima di eseguire i test (predefinito: true).

coverage.cleanOnRerun ​

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

Cancella il report di copertura al riavvio della modalità watch (predefinito: true).

coverage.reportsDirectory ​

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

Directory in cui scrivere il report di copertura (predefinito: ./coverage).

coverage.reporter ​

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

"Reporter" di copertura da usare. Visita coverage.reporter per maggiori informazioni (predefinito: ["text", "html", "clover", "json"]).

coverage.reportOnFailure ​

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

Genera il report di copertura anche quando i test falliscono (predefinito: false).

coverage.allowExternal ​

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

Raccoglie la copertura dei file al di fuori della directory radice del progetto (predefinito: false).

coverage.skipFull ​

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

Non mostra i file con copertura del 100% di istruzioni, rami e funzioni (predefinito: false).

coverage.thresholds.100 ​

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

Scorciatoia per impostare tutte le soglie di copertura al 100 (predefinito: false).

coverage.thresholds.perFile ​

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

Verifica le soglie per file. Vedi --coverage.thresholds.lines, --coverage.thresholds.functions, --coverage.thresholds.branches e --coverage.thresholds.statements per le soglie effettive (predefinito: false).

coverage.thresholds.autoUpdate ​

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

Aggiorna i valori di soglia ("lines", "functions", "branches" e "statements") nel file di configurazione quando la copertura attuale è superiore alle soglie configurate (predefinito: false).

coverage.thresholds.lines ​

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

Soglia minima per le linee. Visita istanbuljs per maggiori informazioni. Questa opzione non è disponibile per i provider personalizzati.

coverage.thresholds.functions ​

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

Soglia minima per le funzioni. Visita istanbuljs per maggiori informazioni. Questa opzione non è disponibile per i provider personalizzati.

coverage.thresholds.branches ​

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

Soglia minima per i rami. Visita istanbuljs per maggiori informazioni. Questa opzione non è disponibile per i provider personalizzati.

coverage.thresholds.statements ​

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

Soglia minima per le istruzioni. Visita istanbuljs per maggiori informazioni. Questa opzione non è disponibile per i provider personalizzati.

coverage.ignoreClassMethods ​

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

Array di nomi di metodi di classe da ignorare ai fini della copertura. Visita istanbuljs per maggiori informazioni. Questa opzione è disponibile solo per i provider Istanbul (predefinito: []).

coverage.processingConcurrency ​

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

Limite di concorrenza utilizzato durante l'elaborazione dei risultati della copertura (predefinito: il minimo tra 20 e il numero di CPU).

coverage.customProviderModule ​

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

Specifica il nome o il percorso del modulo per il provider di copertura personalizzato. Visita Custom Coverage Provider per maggiori informazioni. Questa opzione è disponibile solo per i provider personalizzati.

coverage.watermarks.statements ​

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

"Watermark" alti e bassi per le istruzioni nel formato <alto>,<basso>.

coverage.watermarks.lines ​

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

"Watermark" alti e bassi per le linee nel formato <alto>,<basso>.

coverage.watermarks.branches ​

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

"Watermark" alti e bassi per i rami nel formato <alto>,<basso>.

coverage.watermarks.functions ​

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

"Watermark" alti e bassi per le funzioni nel formato <alto>,<basso>.

mode ​

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

Imposta la modalità Vite (predefinito: test o benchmark).

workspace ​

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

[Deprecato] Percorso di un file di configurazione dello spazio di lavoro.

isolate ​

  • CLI: --isolate
  • Config: isolate

Esegue ogni file di test in isolamento. Per disabilitare l'isolamento, utilizza --no-isolate (predefinito: true).

globals ​

  • CLI: --globals
  • Config: globals

Inietta le API a livello globale.

dom ​

  • CLI: --dom

Esegue il mocking dell'API del browser con happy-dom.

browser.enabled ​

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

Esegue i test nel browser. Questa opzione è equivalente alla configurazione browser.enabled (predefinito: false).

browser.name ​

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

Esegue tutti i test in un browser specifico. Alcuni browser sono disponibili solo per provider specifici (vedi --browser.provider). Visita browser.name per maggiori informazioni.

browser.headless ​

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

Esegue il browser in modalità "headless" (cioè senza aprire l'interfaccia grafica utente). Se stai eseguendo Vitest in CI, sarà abilitato per impostazione predefinita (predefinito: process.env.CI).

browser.api.port ​

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

Specifica la porta del server. Nota: se la porta è già in uso, Vite tenterà automaticamente la porta successiva disponibile, quindi questa potrebbe non essere la porta effettiva su cui il server sarà in ascolto. Se impostato su true, verrà impostata a 63315.

browser.api.host ​

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

Specifica su quali indirizzi IP il server dovrebbe mettersi in ascolto. Imposta su 0.0.0.0 o true per ascoltare su tutti gli indirizzi, inclusi quelli LAN e pubblici.

browser.api.strictPort ​

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

Imposta su true per uscire se la porta è già in uso, invece di provare automaticamente la porta successiva disponibile.

browser.provider ​

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

Provider utilizzato per eseguire i test del browser. Alcuni browser sono disponibili solo per provider specifici. Può essere "webdriverio", "playwright", "preview" o il percorso a un provider personalizzato. Visita browser.provider per maggiori informazioni (predefinito: "preview").

browser.providerOptions ​

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

Opzioni che vengono passate a un provider del browser. Visita browser.providerOptions per maggiori informazioni.

browser.isolate ​

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

Esegue ogni file di test del browser in isolamento. Per disabilitare l'isolamento, usa --browser.isolate=false (predefinito: true).

browser.ui ​

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

Mostra l'interfaccia utente di Vitest durante l'esecuzione dei test (predefinito: !process.env.CI).

browser.fileParallelism ​

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

I file di test del browser vengono eseguiti in parallelo. Utilizza --browser.fileParallelism=false per disabilitare (predefinito: true).

browser.connectTimeout ​

  • CLI: --browser.connectTimeout <timeout>
  • Config: browser.connectTimeout

Se la connessione al browser richiede più tempo del timeout specificato, la suite di test fallirà (predefinito: 60_000).

pool ​

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

Specifica il pool da utilizzare, se i test non vengono eseguiti nel browser (predefinito: forks).

poolOptions.threads.isolate ​

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

Isola i test nel pool di thread (predefinito: true).

poolOptions.threads.singleThread ​

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

Esegue i test all'interno di un singolo thread (predefinito: false).

poolOptions.threads.maxThreads ​

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

Numero massimo (o percentuale) di thread in cui eseguire i test.

poolOptions.threads.minThreads ​

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

Numero minimo (o percentuale) di thread in cui eseguire i test.

poolOptions.threads.useAtomics ​

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

Usa Atomics per sincronizzare i thread. Questo può migliorare le prestazioni in alcuni casi, ma potrebbe causare un errore di segmentazione (segfault) in versioni più vecchie di Node (predefinito: false).

poolOptions.vmThreads.isolate ​

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

Isola i test nel pool di thread VM (predefinito: true).

poolOptions.vmThreads.singleThread ​

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

Esegue i test all'interno di un singolo thread VM (predefinito: false).

poolOptions.vmThreads.maxThreads ​

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

Numero massimo (o percentuale) di thread VM in cui eseguire i test.

poolOptions.vmThreads.minThreads ​

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

Numero minimo (o percentuale) di thread VM in cui eseguire i test.

poolOptions.vmThreads.useAtomics ​

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

Usa Atomics per sincronizzare i thread VM. Questo può migliorare le prestazioni in alcuni casi, ma potrebbe causare un errore di segmentazione (segfault) in versioni più vecchie di Node (predefinito: false).

poolOptions.vmThreads.memoryLimit ​

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

Limite di memoria per il pool di thread VM. Se riscontri perdite di memoria, prova a regolare questo valore.

poolOptions.forks.isolate ​

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

Isola i test nel pool di fork (predefinito: true).

poolOptions.forks.singleFork ​

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

Esegue i test all'interno di un singolo child_process (predefinito: false).

poolOptions.forks.maxForks ​

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

Numero massimo (o percentuale) di processi fork in cui eseguire i test.

poolOptions.forks.minForks ​

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

Numero minimo (o percentuale) di processi fork in cui eseguire i test.

poolOptions.vmForks.isolate ​

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

Isola i test nel pool di fork VM (predefinito: true).

poolOptions.vmForks.singleFork ​

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

Esegue i test all'interno di un singolo child_process VM (predefinito: false).

poolOptions.vmForks.maxForks ​

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

Numero massimo (o percentuale) di processi fork VM in cui eseguire i test.

poolOptions.vmForks.minForks ​

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

Numero minimo (o percentuale) di processi fork VM in cui eseguire i test.

poolOptions.vmForks.memoryLimit ​

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

Limite di memoria per il pool di fork VM. Se riscontri perdite di memoria, prova a regolare questo valore.

fileParallelism ​

  • CLI: --fileParallelism
  • Config: fileParallelism

Tutti i file di test vengono eseguiti in parallelo. Utilizza --no-file-parallelism per disabilitare (predefinito: true).

maxWorkers ​

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

Numero massimo (o percentuale) di worker in cui eseguire i test.

minWorkers ​

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

Numero minimo (o percentuale) di worker in cui eseguire i test.

environment ​

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

Specifica l'ambiente del runner, se non in esecuzione nel browser (predefinito: node).

passWithNoTests ​

  • CLI: --passWithNoTests
  • Config: passWithNoTests

La suite di test viene considerata superata anche se non vengono trovati test.

logHeapUsage ​

  • CLI: --logHeapUsage
  • Config: logHeapUsage

Mostra la dimensione dell'heap per ogni test quando eseguiti in ambiente Node.js.

allowOnly ​

  • CLI: --allowOnly
  • Config: allowOnly

Consente l'esecuzione di test e suite contrassegnati con 'only' (predefinito: !process.env.CI).

dangerouslyIgnoreUnhandledErrors ​

  • CLI: --dangerouslyIgnoreUnhandledErrors
  • Config: dangerouslyIgnoreUnhandledErrors

Ignora eventuali errori non gestiti.

sequence.shuffle.files ​

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

Esegue i file in ordine casuale. I test a lunga esecuzione non avranno priorità se abiliti questa opzione (predefinito: false).

sequence.shuffle.tests ​

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

Esegue i test in ordine casuale (predefinito: false).

sequence.concurrent ​

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

Esegue i test in parallelo (predefinito: false).

sequence.seed ​

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

Imposta il seed di randomizzazione. Questa opzione non avrà effetto se --sequence.shuffle è disabilitato. Visita la pagina "Random Seed" per maggiori informazioni.

sequence.hooks ​

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

Definisce l'ordine in cui vengono eseguiti gli hook. I valori accettati sono: "stack", "list" e "parallel". Visita sequence.hooks per maggiori informazioni (predefinito: "parallel").

sequence.setupFiles ​

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

Definisce l'ordine in cui vengono eseguiti i file di setup. I valori accettati sono: "list" e "parallel". Se impostato su "list", eseguirà i file di setup nell'ordine in cui sono definiti. Se impostato su "parallel", eseguirà i file di setup in parallelo (predefinito: "parallel").

inspect ​

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

Abilita l'inspector di Node.js (predefinito: 127.0.0.1:9229).

inspectBrk ​

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

Abilita l'inspector di Node.js e interrompe l'esecuzione prima dell'inizio del test.

testTimeout ​

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

Timeout predefinito di un test in millisecondi (predefinito: 5000). Utilizza 0 per disabilitare completamente il timeout.

hookTimeout ​

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

Timeout predefinito dell'hook in millisecondi (predefinito: 10000). Utilizza 0 per disabilitare completamente il timeout.

bail ​

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

Interrompe l'esecuzione dei test quando il numero specificato di test è fallito (predefinito: 0).

retry ​

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

Riprova il test il numero specificato di volte se fallisce (predefinito: 0).

diff.aAnnotation ​

  • CLI: --diff.aAnnotation <annotation>
  • Config: diff.aAnnotation

Annotazione per le linee previste (predefinito: Expected).

diff.aIndicator ​

  • CLI: --diff.aIndicator <indicator>
  • Config: diff.aIndicator

Indicatore per le linee previste (predefinito: -).

diff.bAnnotation ​

  • CLI: --diff.bAnnotation <annotation>
  • Config: diff.bAnnotation

Annotazione per le linee ricevute (predefinito: Received).

diff.bIndicator ​

  • CLI: --diff.bIndicator <indicator>
  • Config: diff.bIndicator

Indicatore per le linee ricevute (predefinito: +).

diff.commonIndicator ​

  • CLI: --diff.commonIndicator <indicator>
  • Config: diff.commonIndicator

Indicatore per le linee comuni (predefinito: ).

diff.contextLines ​

  • CLI: --diff.contextLines <lines>
  • Config: diff.contextLines

Numero di linee di contesto da mostrare attorno a ogni modifica (predefinito: 5).

diff.emptyFirstOrLastLinePlaceholder ​

  • CLI: --diff.emptyFirstOrLastLinePlaceholder <placeholder>
  • Config: diff.emptyFirstOrLastLinePlaceholder

Segnaposto per una riga vuota iniziale o finale (predefinito: "").

diff.expand ​

  • CLI: --diff.expand
  • Config: diff.expand

Espande tutte le linee comuni (predefinito: true).

diff.includeChangeCounts ​

  • CLI: --diff.includeChangeCounts
  • Config: diff.includeChangeCounts

Include i conteggi delle modifiche nell'output del diff (predefinito: false).

diff.omitAnnotationLines ​

  • CLI: --diff.omitAnnotationLines
  • Config: diff.omitAnnotationLines

Omette le linee di annotazione dall'output (predefinito: false).

diff.printBasicPrototype ​

  • CLI: --diff.printBasicPrototype
  • Config: diff.printBasicPrototype

Stampa il prototipo di base di Object e Array (predefinito: true).

diff.maxDepth ​

  • CLI: --diff.maxDepth <maxDepth>
  • Config: diff.maxDepth

Limita la profondità di ricorsione durante la stampa di oggetti annidati (predefinito: 20).

diff.truncateThreshold ​

  • CLI: --diff.truncateThreshold <threshold>
  • Config: diff.truncateThreshold

Numero di linee da mostrare prima e dopo ogni modifica (predefinito: 0).

diff.truncateAnnotation ​

  • CLI: --diff.truncateAnnotation <annotation>
  • Config: diff.truncateAnnotation

Annotazione per le linee troncate (predefinito: ... Diff result is truncated).

exclude ​

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

Pattern glob di file aggiuntivi da escludere dai test.

expandSnapshotDiff ​

  • CLI: --expandSnapshotDiff
  • Config: expandSnapshotDiff

Mostra il diff completo quando lo snapshot fallisce.

disableConsoleIntercept ​

  • CLI: --disableConsoleIntercept
  • Config: disableConsoleIntercept

Disabilita l'intercettazione automatica del logging della console (predefinito: false).

typecheck.enabled ​

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

Abilita il controllo dei tipi insieme ai test (predefinito: false).

typecheck.only ​

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

Esegue solo i test di controllo dei tipi. Questo abilita automaticamente il controllo dei tipi (predefinito: false).

typecheck.checker ​

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

Specifica il "typechecker" da usare. I valori disponibili sono: "tsc", "vue-tsc" o un percorso a un eseguibile (predefinito: "tsc").

typecheck.allowJs ​

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

Consente il controllo dei tipi per i file JavaScript. Per impostazione predefinita, eredita il valore da tsconfig.json.

typecheck.ignoreSourceErrors ​

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

Ignora gli errori di tipo dai file sorgente.

typecheck.tsconfig ​

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

Percorso di un file tsconfig personalizzato.

typecheck.spawnTimeout ​

  • CLI: --typecheck.spawnTimeout <time>
  • Config: typecheck.spawnTimeout

Tempo minimo in millisecondi necessario per avviare il "typechecker".

project ​

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

Il nome del progetto da eseguire se si utilizza la funzionalità workspace di Vitest. Questa opzione può essere ripetuta per specificare più progetti: --project=1 --project=2. È possibile anche filtrare i progetti utilizzando pattern con wildcard come --project=packages*, ed escludere progetti con --project=!pattern.

slowTestThreshold ​

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

Soglia in millisecondi per un test o una suite da considerarsi lenta (predefinito: 300).

teardownTimeout ​

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

Timeout predefinito di una funzione di "teardown" in millisecondi (predefinito: 10000).

maxConcurrency ​

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

Numero massimo di test concorrenti in una suite (predefinito: 5).

expect.requireAssertions ​

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

Richiede che tutti i test abbiano almeno un'"asserzione".

expect.poll.interval ​

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

Intervallo di polling in millisecondi per le "asserzioni" expect.poll() (predefinito: 50).

expect.poll.timeout ​

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

Timeout di polling in millisecondi per le "asserzioni" expect.poll() (predefinito: 1000).

printConsoleTrace ​

  • CLI: --printConsoleTrace
  • Config: printConsoleTrace

Stampa sempre le "stack trace" della console.

includeTaskLocation ​

  • CLI: --includeTaskLocation
  • Config: includeTaskLocation

Raccoglie le posizioni dei test e delle suite nella proprietà location.

attachmentsDir ​

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

La directory in cui vengono archiviati gli allegati da context.annotate (predefinito: .vitest-attachments).

run ​

  • CLI: --run

Disabilita la modalità di monitoraggio (watch mode).

color ​

  • CLI: --no-color

Rimuove i colori dall'output della console.

clearScreen ​

  • CLI: --clearScreen

Cancella lo schermo del terminale quando si rieseguono i test in modalità watch (predefinito: true).

configLoader ​

  • CLI: --configLoader <loader>

Usa bundle per raggruppare la configurazione con esbuild o runner (sperimentale) per elaborarla dinamicamente. Questa opzione è disponibile solo nella versione 6.1.0 e successive di Vite (predefinito: bundle).

standalone ​

  • CLI: --standalone

Avvia Vitest senza eseguire test. I filtri dei file verranno ignorati; i test verranno eseguiti solo in caso di modifiche (predefinito: false).

changed ​

  • Tipo: boolean | string
  • Predefinito: false

Esegue i test solo per i file che sono stati modificati. Se non viene fornito alcun valore, eseguirà i test sulle modifiche non sottoposte a commit (incluse quelle nell'area di staging e non ancora nell'area di staging).

Per testare le modifiche dell'ultimo commit, è possibile utilizzare --changed HEAD~1. È anche possibile passare l'hash del commit (es. --changed 09a9920) o il nome del branch (es. --changed origin/develop).

Se utilizzato con la copertura del codice, il report includerà solo i file correlati alle modifiche.

Se abbinato all'opzione di configurazione forceRerunTriggers, l'intera suite di test verrà eseguita se almeno uno dei file elencati in forceRerunTriggers subisce modifiche. Per impostazione predefinita, le modifiche al file di configurazione di Vitest e a package.json comporteranno sempre la riesecuzione dell'intera suite.

shard ​

  • Tipo: string
  • Predefinito: disabled

Divide la suite di test da eseguire in shard, nel formato <index>/<count>, dove:

  • count è un intero positivo che indica il numero totale di parti in cui dividere i test.
  • index è un intero positivo che indica l'indice della parte specifica da eseguire (base 1).

Questo comando dividerà tutti i test in count parti uguali ed eseguirà solo quelli che rientrano nella parte index. Ad esempio, per dividere la suite di test in tre parti, usa questo:

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

WARNING

Non è possibile utilizzare questa opzione con --watch abilitato (che è abilitato per impostazione predefinita in ambiente di sviluppo).

TIP

Se --reporter=blob viene utilizzato senza un file di output, il percorso predefinito includerà le informazioni sullo shard corrente per prevenire conflitti con altri processi di Vitest.

merge-reports ​

  • Tipo: boolean | string

Unisce tutti i report blob situati nella cartella specificata (.vitest-reports per impostazione predefinita). È possibile utilizzare qualsiasi reporter con questo comando (eccetto blob):

sh
vitest --merge-reports --reporter=junit
Pager
Pagina precedenteassertType
Pagina successivaFiltro dei Test

Rilasciato sotto la licenza MIT.

Copyright (c) 2021-Present Vitest Team

https://vitest.dev/guide/cli

Rilasciato sotto la licenza MIT.

Copyright (c) 2021-Present Vitest Team