Interfaccia a Riga di Comando
Comandi
vitest
Avvia Vitest nella directory corrente. Entra automaticamente in modalità watch nell'ambiente di sviluppo e in modalità di esecuzione in CI.
È possibile passare un argomento aggiuntivo come filtro per i file di test da eseguire. Ad esempio:
vitest foobar
Esegue solo i file di test il cui percorso contiene foobar
. Questo filtro controlla solo l'inclusione e non supporta espressioni regolari o pattern glob (a meno che il terminale non li elabori prima che Vitest riceva il filtro).
vitest run
Esegue una singola sessione di test senza la modalità watch.
vitest watch
Esegue tutte le suite di test, monitora le modifiche e riesegue i test in caso di rilevamento di modifiche. Equivalente a chiamare vitest
senza argomenti. In CI, passerà a vitest run
.
vitest dev
Alias per vitest watch
.
vitest related
Esegue solo i test che coprono un elenco di file sorgente. 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 cartella radice del progetto.
Utile con lint-staged
o con la tua configurazione CI.
vitest related /src/index.ts /src/hello-world.js
TIP
Ricorda che Vitest viene eseguito con la modalità watch abilitata per impostazione predefinita. Se stai usando strumenti come lint-staged
, dovresti anche passare l'opzione --run
, affinché il comando possa terminare normalmente.
// .lintstagedrc.js
export default {
'*.{js,ts}': 'vitest related --run',
};
vitest bench
Esegue solo i test di benchmark, che confrontano i risultati di prestazione.
vitest init
vitest init <name>
può essere usato per impostare la configurazione del progetto. Al momento, 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 ignora l'opzione reporters
. Per impostazione predefinita, mostrerà i nomi di tutti i test che corrispondono al filtro del file e al pattern del nome:
vitest list filename.spec.ts -t="some-test"
describe > some-test
describe > some-test > test 1
describe > some-test > test 2
Puoi passare 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 assegnato un valore, stamperà il JSON sull'output standard.
Puoi anche 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 camelCase che il kebab-case per gli argomenti CLI. Ad esempio, --passWithNoTests
e --pass-with-no-tests
funzioneranno entrambi (--no-color
e --inspect-brk
sono le eccezioni).
Vitest supporta anche diversi modi per specificare il valore: --reporter dot
e --reporter=dot
sono entrambi validi.
Se un'opzione supporta un array di valori, è necessario passare l'opzione più volte:
vitest --reporter=dot --reporter=default
Le opzioni booleane possono essere invertite con il prefisso no-
. Specificare il valore come false
funziona altrettanto:
vitest --no-api
vitest --api=false
root
- CLI:
-r, --root <path>
- Config: root
Percorso della directory radice del progetto.
config
- CLI:
-c, --config <path>
Percorso del file di configurazione di Vitest.
update
- CLI:
-u, --update
- Config: update
Aggiorna gli snapshot esistenti.
watch
- CLI:
-w, --watch
- Config: watch
Abilita la modalità watch per rieseguire i test al salvataggio dei file.
testNamePattern
- CLI:
-t, --testNamePattern <pattern>
- Config: testNamePattern
Esegue solo i test i cui nomi completi corrispondono al pattern regexp specificato.
dir
- CLI:
--dir <path>
- Config: dir
Directory base in cui Vitest cercherà i file di test.
ui
- CLI:
--ui
- Config: ui
Abilita l'interfaccia utente (UI) di Vitest.
open
- CLI:
--open
- Config: open
Apri automaticamente l'interfaccia utente (UI) nel browser (predefinito: !process.env.CI
).
api.port
- CLI:
--api.port [port]
Specifica la porta del server API. 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 ascolterà. Se impostato su true
, verrà impostata a 51204
.
api.host
- CLI:
--api.host [host]
Specifica su quali indirizzi IP il server API dovrebbe ascoltare. Imposta su 0.0.0.0
o true
per ascoltare su tutti gli indirizzi, inclusi LAN e indirizzi pubblici.
api.strictPort
- CLI:
--api.strictPort
Se impostato su true
, Vitest uscirà se la porta API è già in uso, invece di provare automaticamente la porta disponibile successiva.
silent
- CLI:
--silent
- Config: silent
Sopprime l'output della console generato dai test.
hideSkippedTests
- CLI:
--hideSkippedTests
Nasconde i log relativi ai test saltati.
reporters
- CLI:
--reporter <name>
- Config: reporters
Specifica i reporter da utilizzare per l'output dei risultati dei test.
outputFile
- CLI:
--outputFile <filename/-s>
- Config: outputFile
Scrive i risultati dei test su un file quando è specificato un reporter supportato. Utilizza la notazione a punti per output separati di più reporter (esempio: --outputFile.tap=./tap.txt
).
coverage.all
- CLI:
--coverage.all
- Config: coverage.all
Indica se includere tutti i file, inclusi 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 del codice. Può essere sovrascritto usando l'opzione CLI --coverage
(predefinito: false
).
coverage.include
- CLI:
--coverage.include <pattern>
- Config: coverage.include
Pattern glob per i file da includere nella copertura. Può essere specificato più di una volta per includere più pattern (predefinito: **
).
coverage.exclude
- CLI:
--coverage.exclude <pattern>
- Config: coverage.exclude
Pattern glob per i file da escludere dalla copertura. Può essere specificato più di una volta per escludere più pattern (predefinito: Visita coverage.exclude
).
coverage.extension
- CLI:
--coverage.extension <extension>
- Config: coverage.extension
Estensioni di file da includere nella copertura. Può essere specificata più volte per includere più estensioni (predefinito: [".js", ".cjs", ".mjs", ".ts", ".mts", ".tsx", ".jsx", ".vue", ".svelte"]
).
coverage.clean
- CLI:
--coverage.clean
- Config: coverage.clean
Pulisce i risultati della copertura prima di eseguire i test (predefinito: true
).
coverage.cleanOnRerun
- CLI:
--coverage.cleanOnRerun
- Config: coverage.cleanOnRerun
Pulisce il report di copertura ad ogni riesecuzione in 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 utilizzare. 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 root del progetto (predefinito: false
).
coverage.skipFull
- CLI:
--coverage.skipFull
- Config: coverage.skipFull
Non mostra i file con copertura del 100% per istruzioni, rami e funzioni nel report (predefinito: false
).
coverage.thresholds.100
- CLI:
--coverage.thresholds.100
- Config: coverage.thresholds.100
Scorciatoia per impostare tutte le soglie di copertura a 100% (predefinito: false
).
coverage.thresholds.perFile
- CLI:
--coverage.thresholds.perFile
- Config: coverage.thresholds.perFile
Controlla le soglie di copertura per ogni singolo 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 di copertura 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 di copertura 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 di copertura 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 di copertura 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 per la 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 del modulo o il percorso per il modulo del 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>
Soglie di watermark alte e basse per le istruzioni nel formato <alto>,<basso>
.
coverage.watermarks.lines
- CLI:
--coverage.watermarks.lines <watermarks>
Soglie di watermark alte e basse per le linee nel formato <alto>,<basso>
.
coverage.watermarks.branches
- CLI:
--coverage.watermarks.branches <watermarks>
Soglie di watermark alte e basse per i rami nel formato <alto>,<basso>
.
coverage.watermarks.functions
- CLI:
--coverage.watermarks.functions <watermarks>
Soglie di watermark alte e basse per le funzioni nel formato <alto>,<basso>
.
mode
- CLI:
--mode <name>
- Config: mode
Sovrascrive la modalità Vite (predefinito: test
o benchmark
).
workspace
- CLI:
--workspace <path>
- Config: workspace
Percorso di un file di configurazione dello spazio di lavoro (workspace).
isolate
- CLI:
--isolate
- Config: isolate
Esegue ogni file di test in un ambiente isolato. Per disabilitare l'isolamento, usa --no-isolate
(predefinito: true
).
globals
- CLI:
--globals
- Config: globals
Inietta le API di Vitest globalmente.
dom
- CLI:
--dom
Simula l'API del browser utilizzando happy-dom.
browser.enabled
- CLI:
--browser.enabled
- Config: browser.enabled
Abilita l'esecuzione dei test nel browser (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 (senza interfaccia grafica). Se Vitest è in esecuzione in un ambiente CI, questa opzione sarà abilitata per impostazione predefinita (predefinito: process.env.CI
).
browser.api.port
- CLI:
--browser.api.port [port]
- Config: browser.api.port
Specifica la porta del server API del browser. 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 ascolterà. 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 API del browser dovrebbe ascoltare. Imposta su 0.0.0.0
o true
per ascoltare su tutti gli indirizzi, inclusi LAN e indirizzi pubblici.
browser.api.strictPort
- CLI:
--browser.api.strictPort
- Config: browser.api.strictPort
Se impostato su true
, Vitest uscirà se la porta API del browser è già in uso, invece di provare automaticamente la porta disponibile successiva.
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 di 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 un ambiente isolato. 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 nel browser (predefinito: !process.env.CI
).
browser.fileParallelism
- CLI:
--browser.fileParallelism
- Config: browser.fileParallelism
Indica se i file di test del browser devono essere eseguiti in parallelo. Usa --browser.fileParallelism=false
per disabilitare (predefinito: true
).
pool
- CLI:
--pool <pool>
- Config: pool
Specifica il pool di esecuzione dei test, se non in esecuzione nel browser (predefinito: threads
).
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 segfault in versioni più vecchie di Node.js (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 segfault in versioni più vecchie di Node.js (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 VM in cui eseguire i test.
poolOptions.vmForks.minForks
- CLI:
--poolOptions.vmForks.minForks <workers>
- Config: poolOptions.vmForks.minForks
Numero minimo o percentuale di processi 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
Indica se tutti i file di test devono essere eseguiti in parallelo. Usa --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
Considera il test superato anche se non vengono trovati test.
logHeapUsage
- CLI:
--logHeapUsage
- Config: logHeapUsage
Mostra la dimensione dell'heap per ogni test quando si esegue in 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 che si verificano durante l'esecuzione dei test.
sequence.shuffle.files
- CLI:
--sequence.shuffle.files
- Config: sequence.shuffle.files
Esegue i file di test in ordine casuale. Abilitando questa opzione, i test a lunga esecuzione potrebbero non iniziare prima (predefinito: false
).
sequence.shuffle.tests
- CLI:
--sequence.shuffle.tests
- Config: sequence.shuffle.tests
Esegue i test all'interno dei file 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 per la sequenza dei test. Questa opzione non avrà effetto se --sequence.shuffle
è disabilitato o non impostato. Visita la pagina "Random Seed" per maggiori informazioni.
sequence.hooks
- CLI:
--sequence.hooks <order>
- Config: sequence.hooks
Modifica 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
Modifica 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 metti in pausa l'esecuzione prima dell'inizio del test.
testTimeout
- CLI:
--testTimeout <timeout>
- Config: testTimeout
Timeout predefinito per l'esecuzione di un singolo test in millisecondi (predefinito: 5000
).
hookTimeout
- CLI:
--hookTimeout <timeout>
- Config: hookTimeout
Timeout predefinito per l'esecuzione di un hook in millisecondi (predefinito: 10000
).
bail
- CLI:
--bail <number>
- Config: bail
Interrompe l'esecuzione dei test quando un dato numero di test è fallito (predefinito: 0
).
retry
- CLI:
--retry <times>
- Config: retry
Riprova l'esecuzione di un test un numero specifico di volte se fallisce (predefinito: 0
).
diff
- CLI:
--diff <path>
- Config: diff
Percorso di una configurazione diff che verrà utilizzata per generare l'interfaccia di confronto.
exclude
- CLI:
--exclude <glob>
- Config: exclude
Glob di file aggiuntivi da escludere dall'esecuzione dei test.
expandSnapshotDiff
- CLI:
--expandSnapshotDiff
- Config: expandSnapshotDiff
Mostra la differenza completa quando uno snapshot fallisce.
disableConsoleIntercept
- CLI:
--disableConsoleIntercept
- Config: disableConsoleIntercept
Disabilita l'intercettazione automatica del logging della console da parte di Vitest (predefinito: false
).
typecheck.enabled
- CLI:
--typecheck.enabled
- Config: typecheck.enabled
Abilita il controllo dei tipi insieme all'esecuzione dei test (predefinito: false
).
typecheck.only
- CLI:
--typecheck.only
- Config: typecheck.only
Esegue solo i test di controllo dei tipi. Questa opzione 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"
e 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, prende il valore da tsconfig.json
.
typecheck.ignoreSourceErrors
- CLI:
--typecheck.ignoreSourceErrors
- Config: typecheck.ignoreSourceErrors
Ignora gli errori di tipo provenienti dai file sorgente.
typecheck.tsconfig
- CLI:
--typecheck.tsconfig <path>
- Config: typecheck.tsconfig
Percorso di un file tsconfig.json
personalizzato da utilizzare per il controllo dei tipi.
project
- CLI:
--project <name>
- Config: project
Il nome del progetto da eseguire se stai usando la funzionalità workspace di Vitest. Questo può essere ripetuto per più progetti: --project=1 --project=2
. Puoi anche filtrare i progetti usando caratteri jolly come --project=packages*
.
slowTestThreshold
- CLI:
--slowTestThreshold <threshold>
- Config: slowTestThreshold
Soglia in millisecondi per considerare un test "lento" (predefinito: 300
).
teardownTimeout
- CLI:
--teardownTimeout <timeout>
- Config: teardownTimeout
Timeout predefinito per l'esecuzione di una funzione di teardown in millisecondi (predefinito: 10000
).
maxConcurrency
- CLI:
--maxConcurrency <number>
- Config: maxConcurrency
Numero massimo di test concorrenti all'interno di 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 tracce dello stack della console per i log.
run
- CLI:
--run
Disabilita la modalità watch ed esegue i test una sola volta.
color
- CLI:
--no-color
Rimuove i colori dall'output della console.
clearScreen
- CLI:
--clearScreen
Pulisce lo schermo del terminale quando si rieseguono i test in modalità watch (predefinito: true
).
standalone
- CLI:
--standalone
Avvia Vitest senza eseguire i test inizialmente. I filtri dei file verranno ignorati; i test verranno eseguiti solo in caso di modifiche ai file (predefinito: false
).
changed
- Tipo:
boolean | string
- Predefinito:
false
Esegue i test solo sui file che sono stati modificati. Se non viene specificato alcun valore, eseguirà i test sulle modifiche non committate (incluse quelle in area di staging e quelle non in area di staging).
Per eseguire i test sulle modifiche effettuate nell'ultimo commit, è possibile utilizzare --changed HEAD~1
. È anche possibile passare l'hash del commit (es. --changed 09a9920
) o il nome del ramo (es. --changed origin/develop
).
Quando usato con la copertura del codice, il report conterrà solo i file relativi alle modifiche.
Se combinato con l'opzione di configurazione forceRerunTriggers
, eseguirà l'intera suite di test se almeno uno dei file elencati in forceRerunTriggers
viene modificato. Per impostazione predefinita, le modifiche al file di configurazione di Vitest e a package.json
rieseguiranno sempre l'intera suite.
shard
- Tipo:
string
- Predefinito: disabled
Partiziona (shard) la suite di test da eseguire nel formato <index>
/<count>
, dove:
count
è un intero positivo, il numero totale di parti.index
è un intero positivo, l'indice della parte specifica.
Questo comando suddividerà tutti i test in count
parti uguali ed eseguirà solo quelli che rientrano nella parte index
. Ad esempio, per dividere la tua 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 puoi usare questa opzione con --watch
abilitato (attivato in modalità sviluppo per impostazione predefinita).
TIP
Se --reporter=blob
viene usato senza un file di output, il percorso predefinito includerà la configurazione dello shard corrente per evitare collisioni con altri processi Vitest.
merge-reports
- Tipo:
boolean | string
Unisce tutti i report blob situati nella cartella specificata (.vitest-reports
per impostazione predefinita). Puoi usare qualsiasi reporter con questo comando (tranne blob
):
vitest --merge-reports --reporter=junit