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:
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:
$ 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.
$ 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:
$ 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.
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.
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
:
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:
vitest list filename.spec.ts -t="some-test"
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:
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:
vitest list --filesOnly
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:
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
):
vitest --merge-reports --reporter=junit