API di Node
WARNING
Vitest mette a disposizione API private sperimentali. Le modifiche che potrebbero causare problemi di compatibilità potrebbero non seguire le regole di semver; si consiglia di bloccare la versione di Vitest quando le si utilizza.
startVitest
È possibile eseguire i test di Vitest usando la sua API Node:
import { startVitest } from 'vitest/node';
const vitest = await startVitest('test');
await vitest?.close();
La funzione startVitest
restituisce l'istanza di Vitest
se i test possono essere avviati correttamente. Restituisce undefined
se si verifica una delle seguenti condizioni:
- Vitest non ha trovato il pacchetto "vite" (solitamente installato insieme a Vitest).
- La copertura del codice è abilitata e la modalità di esecuzione è "test", ma il pacchetto di coverage non è installato (
@vitest/coverage-v8
o@vitest/coverage-istanbul
). - Il pacchetto dell'ambiente non è installato (
jsdom
/happy-dom
/@edge-runtime/vm
).
Se viene restituito undefined
o se i test falliscono durante l'esecuzione, Vitest imposta process.exitCode
a 1
.
Se la modalità watch non è abilitata, Vitest chiamerà il metodo close
.
Se la modalità watch è abilitata e il terminale supporta TTY, Vitest registrerà le scorciatoie da tastiera nella console.
È possibile fornire un elenco di filtri come secondo argomento alla funzione. Vitest eseguirà solo i test il cui percorso del file contiene almeno una delle stringhe passate.
Inoltre, è possibile utilizzare il terzo argomento per passare gli argomenti della CLI, che sovrascriveranno le opzioni di configurazione dei test.
In alternativa, è possibile passare la configurazione di Vite completa come quarto argomento, che avrà la precedenza su qualsiasi altra opzione definita dall'utente.
createVitest
È possibile creare manualmente un'istanza di Vitest usando la funzione createVitest
. Restituisce la stessa istanza di Vitest
di startVitest
, ma non avvia i test né verifica la presenza dei pacchetti necessari.
import { createVitest } from 'vitest/node';
const vitest = await createVitest('test', {
watch: false,
});
Vitest
L'istanza di Vitest richiede la modalità di test corrente. Può essere:
test
quando si eseguono test runtime.benchmark
quando si eseguono benchmark.typecheck
quando si eseguono test di tipo.
mode
test
In modalità test, verranno chiamate solo le funzioni all'interno di test
o it
e verrà generato un errore quando viene incontrato bench
. Questa modalità utilizza le opzioni include
e exclude
nella configurazione per individuare i file di test.
benchmark
La modalità benchmark chiama le funzioni bench
e genera un errore quando incontra test
o it
. Questa modalità utilizza le opzioni benchmark.include
e benchmark.exclude
nella configurazione per individuare i file di benchmark.
typecheck
La modalità di typecheck non esegue i test. Si limita ad analizzare i tipi e a fornire un riepilogo. Questa modalità utilizza le opzioni typecheck.include
e typecheck.exclude
nella configurazione per individuare i file da analizzare.
start
È possibile avviare i test o i benchmark con il metodo start
. È possibile passare un array di stringhe per filtrare i file dei test.