Node API
WARNING
Vitest udostępnia eksperymentalne, prywatne API. Zmiany wsteczne mogą nie być zgodne z semver, dlatego zaleca się przypinanie wersji Vitest podczas korzystania z niego.
startVitest
Możesz uruchomić testy Vitest za pomocą API Node:
import { startVitest } from 'vitest/node';
const vitest = await startVitest('test');
await vitest?.close();
Funkcja startVitest
zwraca instancję Vitest
, jeśli uruchomienie testów jest możliwe. Zwraca undefined
w następujących przypadkach:
- Vitest nie odnalazł pakietu "vite" (zwykle instalowanego razem z Vitest).
- Pokrycie kodu jest włączone, a tryb uruchomienia jest ustawiony na "test", ale pakiet do pokrycia kodu nie jest zainstalowany (
@vitest/coverage-v8
lub@vitest/coverage-istanbul
). - Pakiet środowiska nie jest zainstalowany (
jsdom
/happy-dom
/@edge-runtime/vm
).
Jeśli zwrócono undefined
lub testy nie powiodły się podczas uruchomienia, Vitest ustawi process.exitCode
na 1
.
Jeśli tryb obserwacji nie jest włączony, Vitest wywoła metodę close
.
Jeśli tryb obserwacji jest włączony, a terminal obsługuje TTY, Vitest doda skróty konsoli.
Dodatkowo, możesz użyć trzeciego argumentu do przekazania argumentów CLI, które nadpiszą wszelkie opcje konfiguracji testów.
Alternatywnie, możesz przekazać kompletną konfigurację Vite jako czwarty argument, która będzie miała priorytet nad wszystkimi innymi opcjami zdefiniowanymi przez użytkownika.
createVitest
Możesz utworzyć instancję Vitest samodzielnie za pomocą funkcji createVitest
. Zwraca ona tę samą instancję Vitest
co startVitest
, ale nie uruchamia testów i nie weryfikuje zainstalowanych pakietów.
import { createVitest } from 'vitest/node';
const vitest = await createVitest('test', {
watch: false,
});
Vitest
Instancja Vitest wymaga określenia aktualnego trybu testowego. Dostępne tryby to:
test
- uruchamianie testów jednostkowych (runtime).benchmark
- uruchamianie testów wydajnościowych.typecheck
- uruchamianie testów typów.
mode
test
W trybie testowym wywoływane są tylko funkcje wewnątrz bloków test
lub it
. Napotkanie bloku bench
spowoduje zgłoszenie błędu. Ten tryb wykorzystuje opcje include
i exclude
w konfiguracji do lokalizowania plików testowych.
benchmark
W trybie benchmark wywoływane są funkcje bench
. Napotkanie bloku test
lub it
spowoduje zgłoszenie błędu. Ten tryb wykorzystuje opcje benchmark.include
i benchmark.exclude
w konfiguracji do lokalizowania plików benchmarków.
typecheck
Tryb typecheck nie uruchamia testów. Wykonuje jedynie analizę typów i generuje podsumowanie. Ten tryb wykorzystuje opcje typecheck.include
i typecheck.exclude
w konfiguracji do lokalizowania plików do analizy.
start
Możesz rozpocząć uruchamianie testów lub benchmarków za pomocą metody start
. Możesz przekazać tablicę ciągów znaków, aby filtrować pliki testowe.