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 foobarEseguirà 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:10WARNING
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.jsTIP
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 browservitest 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.jsonSe 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 --filesOnlytests/test1.test.ts
tests/test2.test.tsOpzioni
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=defaultLe opzioni booleane possono essere negate con il prefisso no-. Anche specificare il valore come false è valido:
vitest --no-api
vitest --api=falseroot
- 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/3WARNING
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