Interfejs Linii Poleceń
Komendy
vitest
Uruchamia Vitest w bieżącym katalogu. Automatycznie przechodzi w tryb obserwacji w środowisku deweloperskim i tryb uruchamiania w CI (Continuous Integration).
Możesz przekazać dodatkowy argument jako filtr testów do uruchomienia. Na przykład:
vitest foobar
Uruchomi tylko pliki testowe, których ścieżki zawierają foobar
. Ten filtr sprawdza tylko zawartość ścieżki i nie obsługuje wyrażeń regularnych ani wzorców glob (chyba że twój terminal przetworzy go przed przekazaniem do Vitest).
vitest run
Wykonuje pojedyncze uruchomienie testów bez trybu obserwacji.
vitest watch
Uruchamia wszystkie zestawy testów i obserwuje zmiany w plikach. Po wykryciu zmiany ponownie uruchamia testy. Działa tak samo jak wywołanie vitest
bez argumentu. W środowisku CI zachowuje się jak vitest run
.
vitest dev
Alias dla vitest watch
.
vitest related
Uruchamia tylko testy, które obejmują listę plików źródłowych jako zależności. Działa z importami statycznymi (np. import('./index.ts')
lub import index from './index.ts'
), ale nie z dynamicznymi (np. import(filepath)
). Wszystkie ścieżki plików powinny być określone względem folderu głównego projektu.
Przydatne do uruchamiania z lint-staged
lub w konfiguracji CI.
vitest related /src/index.ts /src/hello-world.js
TIP
Pamiętaj, że Vitest domyślnie uruchamia się z włączonym trybem obserwacji. Jeśli używasz narzędzi takich jak lint-staged
, powinieneś również przekazać opcję --run
, aby polecenie mogło zakończyć się pomyślnie.
// .lintstagedrc.js
export default {
'*.{js,ts}': 'vitest related --run',
};
vitest bench
Uruchamia tylko testy porównawcze (benchmark), które mierzą i porównują wydajność.
Opcje
Opcje | |
---|---|
-v, --version | Wyświetla numer wersji Vitest |
-r, --root <path> | Definiuje katalog główny projektu |
-c, --config <path> | Ścieżka do pliku konfiguracyjnego Vitest |
-u, --update | Aktualizuje migawki (snapshots) |
-w, --watch | Włącza inteligentny tryb obserwacji w czasie rzeczywistym |
-t, --testNamePattern <pattern> | Uruchamia testy, których pełne nazwy pasują do podanego wzorca |
--dir <path> | Podstawowy katalog do przeszukiwania w poszukiwaniu plików testowych |
--ui | Włącza interfejs użytkownika (UI) Vitest |
--open | Automatycznie otwiera interfejs użytkownika, jeśli jest włączony (domyślnie: true ) |
--api [api] | Udostępnia API Vitest, dostępne opcje: --api.port <port> , --api.host [host] i --api.strictPort |
--threads | Włącza wielowątkowość (domyślnie: true ) |
--single-thread | Uruchamia testy w jednym wątku. Wymaga włączenia opcji --threads (domyślnie: false ) |
--experimental-vm-threads | Uruchamia testy w puli roboczej (worker pool) przy użyciu izolacji VM (Virtual Machine) (domyślnie: false ) |
--experimental-vm-worker-memory-limit | Ustawia maksymalny limit pamięci dla procesu roboczego (worker). Po jego przekroczeniu zostanie utworzony nowy proces roboczy. |
--silent | Wycisza wyjście konsoli testów. |
--isolate | Izoluje środowisko każdego pliku testowego (domyślnie: true ) |
--reporter <name> | Wybiera reportera: default , verbose , dot , junit , json lub ścieżka do niestandardowego reportera |
--outputFile <filename/-s> | Zapisuje rezultaty testów do pliku/plików, jeśli użyto opcji --reporter=json lub --reporter=junit . Używając [notacji kropkowej cac], można zdefiniować osobne pliki wyjściowe dla każdego reportera. |
--coverage | Generuje raport pokrycia kodu |
--run | Wyłącza tryb obserwacji zmian |
--mode | Zastępuje tryb Vite (domyślnie: test ) |
--mode <name> | Zastępuje tryb Vite (domyślnie: test ) |
--globals | Wstrzykuje API Vitest globalnie |
--dom | Symuluje API przeglądarki przy użyciu happy-dom |
--browser [options] | Uruchamia testy w przeglądarce (domyślnie: false ) |
--environment <env> | Środowisko uruchomieniowe (domyślnie: node ) |
--passWithNoTests | Zalicza testy, nawet jeśli nie znaleziono żadnych testów |
--logHeapUsage | Wyświetla rozmiar sterty pamięci (heap) dla każdego testu |
--allowOnly | Zezwala na uruchamianie testów i zestawów testów oznaczonych jako only (domyślnie: false w CI, true poza CI). |
--dangerouslyIgnoreUnhandledErrors | Ignoruje wszelkie nieobsłużone błędy, które wystąpią |
--changed [since] | Uruchamia testy powiązane ze zmienionymi plikami (domyślnie: false). Zobacz sekcję |
--shard <shard> | Uruchamia testy w określonej partycji (shard) |
--sequence | Definiuje kolejność uruchamiania testów. Użyj [notacji kropkowej cac], aby określić opcje (na przykład użyj --sequence.shuffle , aby uruchamiać testy w losowej kolejności lub --sequence.shuffle --sequence.seed SEED_ID , aby uruchomić określoną kolejność) |
--no-color | Wyłącza kolory w wyjściu konsoli |
--inspect | Aktywuje inspektora Node.js |
--inspect-brk | Włącza inspektora Node.js z przerwaniem (break on start) |
--bail <number> | Przerywa wykonywanie testów, gdy podana liczba testów zakończy się niepowodzeniem |
--retry <times> | Ponawia test określoną liczbę razy, jeśli zakończy się niepowodzeniem |
-h, --help | Wyświetla dostępne opcje CLI |
TIP
Vitest obsługuje zarówno camel case, jak i kebab case dla argumentów CLI. Na przykład, --passWithNoTests
i --pass-with-no-tests
będą działać (--no-color
i --inspect-brk
są wyjątkami).
Vitest obsługuje również różne sposoby określania wartości: --reporter dot
i --reporter=dot
są poprawne.
Jeśli opcja obsługuje tablicę wartości, musisz przekazać opcję wiele razy:
vitest --reporter=dot --reporter=default
Opcje boolean można negować za pomocą przedrostka no-
. Określenie wartości jako false
również działa:
vitest --no-api
vitest --api=false
changed
Typ:
boolean | string
Domyślnie: false
Uruchamia testy tylko dla zmienionych plików. Jeśli nie podano wartości, uruchamia testy dla zmian, które nie zostały jeszcze zacommitowane (w tym staged i unstaged).
Aby uruchomić testy dla zmian wprowadzonych w ostatnim commicie, możesz użyć
--changed HEAD~1
. Możesz również przekazać hash commita lub nazwę gałęzi.W połączeniu z opcją konfiguracyjną
forceRerunTriggers
uruchomi cały zestaw testów, jeśli zostanie znalezione dopasowanie.
shard
Typ:
string
Domyślnie: wyłączone
Partycjonowanie (sharding) zestawu testów do wykonania w formacie
<index>/<count>
, gdzie:count
to dodatnia liczba całkowita, oznaczająca liczbę partycji.index
to dodatnia liczba całkowita, oznaczająca indeks partycji (liczony od 1).
Polecenie dzieli wszystkie testy na
count
równych części i uruchamia tylko te, które należą do partycji o indeksieindex
. Na przykład, aby podzielić zestaw testów na trzy części, użyj tego:shvitest run --shard=1/3 vitest run --shard=2/3 vitest run --shard=3/3
WARNING
Tej opcji nie można używać z włączonym trybem --watch
(domyślnie włączonym w trybie deweloperskim).