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-v8o@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:
testquando si eseguono test runtime.benchmarkquando si eseguono benchmark.typecheckquando 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.