Interfejs Wiersza Poleceń
Polecenia
vitest
Uruchamia Vitest w bieżącym katalogu. Automatycznie przełącza się w tryb obserwacji w środowisku deweloperskim oraz w tryb uruchamiania w środowisku CI (lub w terminalu nieinteraktywnym).
Możesz przekazać dodatkowy argument jako filtr plików testowych do uruchomienia. Na przykład:
vitest foobar
Uruchomi tylko pliki testowe, których ścieżka zawiera foobar
. Ten filtr działa na zasadzie dopasowania podciągu i nie obsługuje wyrażeń regularnych ani wzorców glob (chyba że Twój terminal przetworzy je, zanim Vitest otrzyma ten filtr).
Począwszy od Vitest 3, możesz również wskazać konkretny test, podając nazwę pliku i numer linii:
$ vitest basic/foo.test.ts:10
WARNING
Zauważ, że Vitest wymaga pełnej nazwy pliku do działania tej funkcji. Może to być ścieżka względna do bieżącego katalogu roboczego lub ścieżka absolutna.
$ vitest basic/foo.js:10 # ✅
$ vitest ./basic/foo.js:10 # ✅
$ vitest /users/project/basic/foo.js:10 # ✅
$ vitest foo:10 # ❌
$ vitest ./basic/foo:10 # ❌
Obecnie Vitest nie obsługuje również zakresów linii:
$ vitest basic/foo.test.ts:10, basic/foo.test.ts:25 # ✅
$ vitest basic/foo.test.ts:10-25 # ❌
vitest run
Wykonuje pojedyncze uruchomienie testów bez trybu obserwacji.
vitest watch
Uruchamia wszystkie zestawy testów, ale obserwuje zmiany i ponownie uruchamia testy, gdy pliki ulegną modyfikacji. Jest to równoważne wywołaniu vitest
bez argumentu. Przełączy się na vitest run
w środowisku CI lub gdy stdin nie jest TTY (w środowisku nieinteraktywnym).
vitest dev
Alias dla vitest watch
.
vitest related
Uruchamia tylko testy, które są powiązane z listą plików źródłowych. Działa z importami statycznymi (np. import('./index.js')
lub import index from './index.js')
, ale nie z dynamicznymi (np. import(filepath)
). Wszystkie pliki powinny być względne 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ę w trybie obserwacji. Jeśli używasz narzędzi takich jak lint-staged
, powinieneś również przekazać opcję --run
, aby polecenie mogło się normalnie zakończyć.
export default {
'*.{js,ts}': 'vitest related --run',
};
vitest bench
Uruchamia tylko testy benchmarkowe, które służą do porównywania wyników wydajności.
vitest init
vitest init <name>
może służyć do konfiguracji projektu. Obecnie obsługuje tylko wartość browser
:
vitest init browser
vitest list
Polecenie vitest list
dziedziczy wszystkie opcje vitest
w celu wyświetlenia listy wszystkich pasujących testów. To polecenie nie uwzględnia opcji reporters
. Domyślnie wyświetli nazwy wszystkich testów, które pasują do określonego filtra plików i wzorca nazwy:
vitest list filename.spec.ts -t="some-test"
describe > some-test
describe > some-test > test 1
describe > some-test > test 2
Możesz przekazać flagę --json
, aby wyświetlić testy w formacie JSON lub zapisać je w osobnym pliku:
vitest list filename.spec.ts -t="some-test" --json=./file.json
Jeśli dla flagi --json
nie zostanie podana wartość, wypisze JSON na standardowe wyjście (stdout).
Możesz również przekazać flagę --filesOnly
, aby wyświetlić tylko pliki testowe:
vitest list --filesOnly
tests/test1.test.ts
tests/test2.test.ts
Opcje
TIP
Vitest obsługuje zarówno notację camel case, jak i kebab case w argumentach CLI. Na przykład, --passWithNoTests
i --pass-with-no-tests
są obsługiwane (wyjątkami są --no-color
i --inspect-brk
).
Vitest obsługuje również różne sposoby określania wartości: --reporter dot
i --reporter=dot
są oba prawidłowe.
Jeśli opcja obsługuje wiele wartości, musisz przekazać ją wielokrotnie:
vitest --reporter=dot --reporter=default
Opcje typu boolean mogą być negowane za pomocą prefiksu no-
. Określenie wartości jako false
również jest obsługiwane:
vitest --no-api
vitest --api=false
root
- CLI:
-r, --root <ścieżka>
- Konfiguracja: root
Ścieżka główna projektu.
config
- CLI:
-c, --config <ścieżka>
Ścieżka do pliku konfiguracyjnego.
update
- CLI:
-u, --update
- Konfiguracja: update
Aktualizuje migawki.
watch
- CLI:
-w, --watch
- Konfiguracja: watch
Włącza tryb obserwacji (watch mode).
testNamePattern
- CLI:
-t, --testNamePattern <wzorzec>
- Konfiguracja: testNamePattern
Uruchamia testy, których pełne nazwy pasują do określonego wzorca wyrażenia regularnego (regexp).
dir
- CLI:
--dir <ścieżka>
- Konfiguracja: dir
Katalog bazowy do skanowania w poszukiwaniu plików testowych.
ui
- CLI:
--ui
- Konfiguracja: ui
Włącza interfejs użytkownika (UI).
open
- CLI:
--open
- Konfiguracja: open
Automatycznie otwiera interfejs użytkownika (domyślnie: !process.env.CI
).
api.port
- CLI:
--api.port [port]
Określa port serwera API. Jeśli port jest już używany, Vite automatycznie spróbuje użyć następnego dostępnego portu, więc może to nie być rzeczywisty port, na którym serwer będzie nasłuchiwał. Jeśli ustawiono na true
, zostanie ustawiony na 51204
.
api.host
- CLI:
--api.host [host]
Określa adresy IP, na których serwer API powinien nasłuchiwać. Ustaw tę wartość na 0.0.0.0
lub true
, aby nasłuchiwać na wszystkich adresach, w tym LAN i publicznych.
api.strictPort
- CLI:
--api.strictPort
Ustaw tę wartość na true
, aby zakończyć działanie, jeśli port jest już używany, zamiast automatycznie próbować następnego dostępnego portu.
silent
- CLI:
--silent [wartość]
- Konfiguracja: silent
Wycisza wyjście konsoli podczas testów. Użyj 'passed-only'
, aby wyświetlać logi tylko z testów, które zakończyły się niepowodzeniem.
hideSkippedTests
- CLI:
--hideSkippedTests
Ukrywa logi dla pominiętych testów.
reporters
- CLI:
--reporter <nazwa>
- Konfiguracja: reporters
Określa reporterów (default, basic, blob, verbose, dot, json, tap, tap-flat, junit, hanging-process, github-actions).
outputFile
- CLI:
--outputFile <nazwa_pliku/-s>
- Konfiguracja: outputFile
Zapisuje wyniki testów do pliku, jeśli określono również obsługiwany reporter. Użyj notacji kropkowej (np. cac
) dla indywidualnych danych wyjściowych wielu reporterów (przykład: --outputFile.tap=./tap.txt
).
coverage.all
- CLI:
--coverage.all
- Konfiguracja: coverage.all
Określa, czy uwzględnić wszystkie pliki, w tym te nieprzetestowane, w raporcie pokrycia kodu.
coverage.provider
- CLI:
--coverage.provider <nazwa>
- Konfiguracja: coverage.provider
Wybiera narzędzie do zbierania pokrycia kodu. Dostępne wartości to: "v8", "istanbul" i "custom".
coverage.enabled
- CLI:
--coverage.enabled
- Konfiguracja: coverage.enabled
Włącza zbieranie pokrycia kodu. Może być nadpisane za pomocą opcji CLI --coverage
(domyślnie: fałsz
).
coverage.include
- CLI:
--coverage.include <wzorzec>
- Konfiguracja: coverage.include
Wzorce glob plików do uwzględnienia w pokryciu. Może być określone więcej niż raz przy użyciu wielu wzorców (domyślnie: **
).
coverage.exclude
- CLI:
--coverage.exclude <wzorzec>
- Konfiguracja: coverage.exclude
Wzorce glob plików do wykluczenia z pokrycia. Może być określone więcej niż raz przy użyciu wielu wzorców (domyślnie: Odwiedź coverage.exclude
).
coverage.extension
- CLI:
--coverage.extension <rozszerzenie>
- Konfiguracja: coverage.extension
Rozszerzenia plików do uwzględnienia w pokryciu. Może być określone więcej niż raz przy użyciu wielu rozszerzeń (domyślnie: [".js", ".cjs", ".mjs", ".ts", ".mts", ".tsx", ".jsx", ".vue", ".svelte"]
).
coverage.clean
- CLI:
--coverage.clean
- Konfiguracja: coverage.clean
Czyści wyniki pokrycia przed uruchomieniem testów (domyślnie: prawda
).
coverage.cleanOnRerun
- CLI:
--coverage.cleanOnRerun
- Konfiguracja: coverage.cleanOnRerun
Czyści raport pokrycia podczas ponownego uruchomienia w trybie obserwacji (domyślnie: prawda
).
coverage.reportsDirectory
- CLI:
--coverage.reportsDirectory <ścieżka>
- Konfiguracja: coverage.reportsDirectory
Katalog do zapisu raportu pokrycia (domyślnie: ./coverage
).
coverage.reporter
- CLI:
--coverage.reporter <nazwa>
- Konfiguracja: coverage.reporter
Reportery pokrycia do użycia. Odwiedź coverage.reporter
po więcej informacji (domyślnie: ["text", "html", "clover", "json"]
).
coverage.reportOnFailure
- CLI:
--coverage.reportOnFailure
- Konfiguracja: coverage.reportOnFailure
Generuje raport pokrycia nawet jeśli testy zakończą się niepowodzeniem (domyślnie: fałsz
).
coverage.allowExternal
- CLI:
--coverage.allowExternal
- Konfiguracja: coverage.allowExternal
Zbiera pokrycie plików spoza katalogu głównego projektu (domyślnie: fałsz
).
coverage.skipFull
- CLI:
--coverage.skipFull
- Konfiguracja: coverage.skipFull
Nie wyświetla plików ze 100% pokryciem instrukcji, gałęzi i funkcji (domyślnie: fałsz
).
coverage.thresholds.100
- CLI:
--coverage.thresholds.100
- Konfiguracja: coverage.thresholds.100
Skrót, który ustawia wszystkie progi pokrycia na 100% (domyślnie: fałsz
).
coverage.thresholds.perFile
- CLI:
--coverage.thresholds.perFile
- Konfiguracja: coverage.thresholds.perFile
Sprawdza progi pokrycia dla każdego pliku. Zobacz --coverage.thresholds.lines
, --coverage.thresholds.functions
, --coverage.thresholds.branches
i --coverage.thresholds.statements
dla rzeczywistych progów (domyślnie: fałsz
).
coverage.thresholds.autoUpdate
- CLI:
--coverage.thresholds.autoUpdate
- Konfiguracja: coverage.thresholds.autoUpdate
Aktualizuje wartości progów: "linie", "funkcje", "gałęzie" i "instrukcje" w pliku konfiguracyjnym, jeśli bieżące pokrycie przekracza skonfigurowane progi (domyślnie: fałsz
).
coverage.thresholds.lines
- CLI:
--coverage.thresholds.lines <liczba>
Próg dla linii. Odwiedź istanbuljs po więcej informacji. Ta opcja nie jest dostępna dla niestandardowych dostawców.
coverage.thresholds.functions
- CLI:
--coverage.thresholds.functions <liczba>
Próg dla funkcji. Odwiedź istanbuljs po więcej informacji. Ta opcja nie jest dostępna dla niestandardowych dostawców.
coverage.thresholds.branches
- CLI:
--coverage.thresholds.branches <liczba>
Próg dla gałęzi. Odwiedź istanbuljs po więcej informacji. Ta opcja nie jest dostępna dla niestandardowych dostawców.
coverage.thresholds.statements
- CLI:
--coverage.thresholds.statements <liczba>
Próg dla instrukcji. Odwiedź istanbuljs po więcej informacji. Ta opcja nie jest dostępna dla niestandardowych dostawców.
coverage.ignoreClassMethods
- CLI:
--coverage.ignoreClassMethods <nazwa>
- Konfiguracja: coverage.ignoreClassMethods
Tablica nazw metod klas, które mają być ignorowane w pokryciu. Odwiedź istanbuljs po więcej informacji. Ta opcja jest dostępna tylko dla dostawców Istanbul (domyślnie: []
).
coverage.processingConcurrency
- CLI:
--coverage.processingConcurrency <liczba>
- Konfiguracja: coverage.processingConcurrency
Limit współbieżności używany podczas przetwarzania wyników pokrycia (domyślnie: minimum z 20 i liczby procesorów).
coverage.customProviderModule
- CLI:
--coverage.customProviderModule <ścieżka>
- Konfiguracja: coverage.customProviderModule
Określa nazwę modułu lub ścieżkę niestandardowego modułu dostawcy pokrycia. Odwiedź Custom Coverage Provider po więcej informacji. Ta opcja jest dostępna tylko dla niestandardowych dostawców.
coverage.watermarks.statements
- CLI:
--coverage.watermarks.statements <progi>
Górne i dolne progi dla instrukcji w formacie <wysoki>,<niski>
.
coverage.watermarks.lines
- CLI:
--coverage.watermarks.lines <progi>
Górne i dolne progi dla linii w formacie <wysoki>,<niski>
.
coverage.watermarks.branches
- CLI:
--coverage.watermarks.branches <progi>
Górne i dolne progi dla gałęzi w formacie <wysoki>,<niski>
.
coverage.watermarks.functions
- CLI:
--coverage.watermarks.functions <progi>
Górne i dolne progi dla funkcji w formacie <wysoki>,<niski>
.
mode
- CLI:
--mode <nazwa>
- Konfiguracja: mode
Nadpisuje tryb Vite (domyślnie: test
lub benchmark
).
workspace
- CLI:
--workspace <ścieżka>
- Konfiguracja: workspace
[Przestarzałe] Ścieżka do pliku konfiguracyjnego obszaru roboczego.
isolate
- CLI:
--isolate
- Konfiguracja: isolate
Uruchamia każdy plik testowy w izolacji. Aby wyłączyć izolację, użyj --no-isolate
(domyślnie: true
).
globals
- CLI:
--globals
- Konfiguracja: globals
Wstrzykuje API globalnie.
dom
- CLI:
--dom
Symuluje API przeglądarki za pomocą happy-dom.
browser.enabled
- CLI:
--browser.enabled
- Konfiguracja: browser.enabled
Uruchamia testy w przeglądarce (domyślnie: false
).
browser.name
- CLI:
--browser.name <nazwa>
- Konfiguracja: browser.name
Uruchamia wszystkie testy w określonej przeglądarce. Niektóre przeglądarki są dostępne tylko dla określonych dostawców (patrz --browser.provider
). Odwiedź browser.name
po więcej informacji.
browser.headless
- CLI:
--browser.headless
- Konfiguracja: browser.headless
Uruchamia przeglądarkę w trybie headless (tj. bez otwierania GUI). Jeśli uruchamiasz Vitest w CI, będzie to domyślnie włączone (domyślnie: process.env.CI
).
browser.api.port
- CLI:
--browser.api.port [port]
- Konfiguracja: browser.api.port
Określa port serwera API przeglądarki. Jeśli port jest już używany, Vite automatycznie spróbuje użyć następnego dostępnego portu, więc może to nie być rzeczywisty port, na którym serwer będzie nasłuchiwał. Jeśli ustawiono na true
, zostanie ustawiony na 63315
.
browser.api.host
- CLI:
--browser.api.host [host]
- Konfiguracja: browser.api.host
Określa adresy IP, na których serwer API przeglądarki powinien nasłuchiwać. Ustaw tę wartość na 0.0.0.0
lub true
, aby nasłuchiwać na wszystkich adresach, w tym LAN i publicznych.
browser.api.strictPort
- CLI:
--browser.api.strictPort
- Konfiguracja: browser.api.strictPort
Ustaw tę wartość na true
, aby zakończyć działanie, jeśli port jest już używany, zamiast automatycznie próbować następnego dostępnego portu.
browser.provider
- CLI:
--browser.provider <nazwa>
- Konfiguracja: browser.provider
Dostawca używany do uruchamiania testów przeglądarkowych. Niektóre przeglądarki są dostępne tylko dla określonych dostawców. Może to być "webdriverio", "playwright", "preview" lub ścieżka do niestandardowego dostawcy. Odwiedź browser.provider
po więcej informacji (domyślnie: "preview"
).
browser.providerOptions
- CLI:
--browser.providerOptions <opcje>
- Konfiguracja: browser.providerOptions
Opcje przekazywane do dostawcy przeglądarki. Odwiedź browser.providerOptions
po więcej informacji.
browser.isolate
- CLI:
--browser.isolate
- Konfiguracja: browser.isolate
Uruchamia każdy plik testowy przeglądarki w izolacji. Aby wyłączyć izolację, użyj --browser.isolate=false
(domyślnie: true
).
browser.ui
- CLI:
--browser.ui
- Konfiguracja: browser.ui
Wyświetla interfejs użytkownika Vitest podczas uruchamiania testów (domyślnie: !process.env.CI
).
browser.fileParallelism
- CLI:
--browser.fileParallelism
- Konfiguracja: browser.fileParallelism
Określa, czy pliki testowe przeglądarki powinny być uruchamiane równolegle. Użyj --browser.fileParallelism=false
, aby wyłączyć (domyślnie: true
).
browser.connectTimeout
- CLI:
--browser.connectTimeout <limit_czasu>
- Konfiguracja: browser.connectTimeout
Jeśli połączenie z przeglądarką przekroczy określony czas, zestaw testów zakończy się niepowodzeniem (domyślnie: 60_000
).
pool
- CLI:
--pool <pula>
- Konfiguracja: pool
Określa pulę wykonawczą, jeśli testy nie są uruchamiane w przeglądarce (domyślnie: forks
).
poolOptions.threads.isolate
- CLI:
--poolOptions.threads.isolate
- Konfiguracja: poolOptions.threads.isolate
Izoluje testy w puli wątków (domyślnie: true
).
poolOptions.threads.singleThread
- CLI:
--poolOptions.threads.singleThread
- Konfiguracja: poolOptions.threads.singleThread
Uruchamia testy w pojedynczym wątku (domyślnie: false
).
poolOptions.threads.maxThreads
- CLI:
--poolOptions.threads.maxThreads <liczba_workerów>
- Konfiguracja: poolOptions.threads.maxThreads
Maksymalna liczba lub procent wątków do uruchamiania testów.
poolOptions.threads.minThreads
- CLI:
--poolOptions.threads.minThreads <liczba_workerów>
- Konfiguracja: poolOptions.threads.minThreads
Minimalna liczba lub procent wątków do uruchamiania testów.
poolOptions.threads.useAtomics
- CLI:
--poolOptions.threads.useAtomics
- Konfiguracja: poolOptions.threads.useAtomics
Używa Atomics do synchronizacji wątków. Może to poprawić wydajność w niektórych przypadkach, ale może spowodować błąd segmentacji (segfault) w starszych wersjach Node.js (domyślnie: false
).
poolOptions.vmThreads.isolate
- CLI:
--poolOptions.vmThreads.isolate
- Konfiguracja: poolOptions.vmThreads.isolate
Izoluje testy w puli wątków VM (domyślnie: true
).
poolOptions.vmThreads.singleThread
- CLI:
--poolOptions.vmThreads.singleThread
- Konfiguracja: poolOptions.vmThreads.singleThread
Uruchamia testy w pojedynczym wątku VM (domyślnie: false
).
poolOptions.vmThreads.maxThreads
- CLI:
--poolOptions.vmThreads.maxThreads <liczba_workerów>
- Konfiguracja: poolOptions.vmThreads.maxThreads
Maksymalna liczba lub procent wątków VM do uruchamiania testów.
poolOptions.vmThreads.minThreads
- CLI:
--poolOptions.vmThreads.minThreads <liczba_workerów>
- Konfiguracja: poolOptions.vmThreads.minThreads
Minimalna liczba lub procent wątków VM do uruchamiania testów.
poolOptions.vmThreads.useAtomics
- CLI:
--poolOptions.vmThreads.useAtomics
- Konfiguracja: poolOptions.vmThreads.useAtomics
Używa Atomics do synchronizacji wątków VM. Może to poprawić wydajność w niektórych przypadkach, ale może spowodować błąd segmentacji (segfault) w starszych wersjach Node.js (domyślnie: false
).
poolOptions.vmThreads.memoryLimit
- CLI:
--poolOptions.vmThreads.memoryLimit <limit>
- Konfiguracja: poolOptions.vmThreads.memoryLimit
Limit pamięci dla puli wątków VM. W przypadku wycieków pamięci, spróbuj dostosować tę wartość.
poolOptions.forks.isolate
- CLI:
--poolOptions.forks.isolate
- Konfiguracja: poolOptions.forks.isolate
Izoluje testy w puli forków (domyślnie: true
).
poolOptions.forks.singleFork
- CLI:
--poolOptions.forks.singleFork
- Konfiguracja: poolOptions.forks.singleFork
Uruchamia testy w pojedynczym procesie potomnym (domyślnie: false
).
poolOptions.forks.maxForks
- CLI:
--poolOptions.forks.maxForks <liczba_workerów>
- Konfiguracja: poolOptions.forks.maxForks
Maksymalna liczba lub procent procesów potomnych do uruchamiania testów.
poolOptions.forks.minForks
- CLI:
--poolOptions.forks.minForks <liczba_workerów>
- Konfiguracja: poolOptions.forks.minForks
Minimalna liczba lub procent procesów potomnych do uruchamiania testów.
poolOptions.vmForks.isolate
- CLI:
--poolOptions.vmForks.isolate
- Konfiguracja: poolOptions.vmForks.isolate
Izoluje testy w puli forków VM (domyślnie: true
).
poolOptions.vmForks.singleFork
- CLI:
--poolOptions.vmForks.singleFork
- Konfiguracja: poolOptions.vmForks.singleFork
Uruchamia testy w pojedynczym procesie potomnym VM (domyślnie: false
).
poolOptions.vmForks.maxForks
- CLI:
--poolOptions.vmForks.maxForks <liczba_workerów>
- Konfiguracja: poolOptions.vmForks.maxForks
Maksymalna liczba lub procent procesów potomnych VM do uruchamiania testów.
poolOptions.vmForks.minForks
- CLI:
--poolOptions.vmForks.minForks <liczba_workerów>
- Konfiguracja: poolOptions.vmForks.minForks
Minimalna liczba lub procent procesów potomnych VM do uruchamiania testów.
poolOptions.vmForks.memoryLimit
- CLI:
--poolOptions.vmForks.memoryLimit <limit>
- Konfiguracja: poolOptions.vmForks.memoryLimit
Limit pamięci dla puli forków VM. W przypadku wycieków pamięci, spróbuj dostosować tę wartość.
fileParallelism
- CLI:
--fileParallelism
- Konfiguracja: fileParallelism
Określa, czy wszystkie pliki testowe powinny być uruchamiane równolegle. Użyj --no-file-parallelism
, aby wyłączyć (domyślnie: true
).
maxWorkers
- CLI:
--maxWorkers <liczba_workerów>
- Konfiguracja: maxWorkers
Maksymalna liczba lub procent workerów do uruchamiania testów.
minWorkers
- CLI:
--minWorkers <liczba_workerów>
- Konfiguracja: minWorkers
Minimalna liczba lub procent workerów do uruchamiania testów.
environment
- CLI:
--environment <nazwa>
- Konfiguracja: environment
Określa środowisko uruchomieniowe, jeśli testy nie są uruchamiane w przeglądarce (domyślnie: node
).
passWithNoTests
- CLI:
--passWithNoTests
- Konfiguracja: passWithNoTests
Powoduje pomyślne zakończenie, gdy nie znaleziono testów.
logHeapUsage
- CLI:
--logHeapUsage
- Konfiguracja: logHeapUsage
Wyświetla rozmiar sterty dla każdego testu podczas uruchamiania w Node.js.
allowOnly
- CLI:
--allowOnly
- Konfiguracja: allowOnly
Zezwala na testy i zestawy, które są oznaczone jako "only" (domyślnie: !process.env.CI
).
dangerouslyIgnoreUnhandledErrors
- CLI:
--dangerouslyIgnoreUnhandledErrors
- Konfiguracja: dangerouslyIgnoreUnhandledErrors
Ignoruje wszelkie nieobsłużone błędy, które wystąpią.
sequence.shuffle.files
- CLI:
--sequence.shuffle.files
- Konfiguracja: sequence.shuffle.files
Uruchamia pliki w losowej kolejności. Włączenie tej opcji nie spowoduje wcześniejszego uruchomienia długo trwających testów (domyślnie: false
).
sequence.shuffle.tests
- CLI:
--sequence.shuffle.tests
- Konfiguracja: sequence.shuffle.tests
Uruchamia testy w losowej kolejności (domyślnie: false
).
sequence.concurrent
- CLI:
--sequence.concurrent
- Konfiguracja: sequence.concurrent
Powoduje, że testy uruchamiają się równolegle (domyślnie: false
).
sequence.seed
- CLI:
--sequence.seed <ziarno>
- Konfiguracja: sequence.seed
Ustawia ziarno randomizacji. Ta opcja nie będzie miała wpływu, jeśli --sequence.shuffle
ma wartość fałszywą. Odwiedź stronę "Random Seed" po więcej informacji.
sequence.hooks
- CLI:
--sequence.hooks <kolejność>
- Konfiguracja: sequence.hooks
Określa kolejność wykonywania hooków. Akceptowane wartości to: "stack", "list" i "parallel". Odwiedź sequence.hooks
po więcej informacji (domyślnie: "parallel"
).
sequence.setupFiles
- CLI:
--sequence.setupFiles <kolejność>
- Konfiguracja: sequence.setupFiles
Określa kolejność wykonywania plików setup. Akceptowane wartości to: "list" i "parallel". Jeśli ustawiono na "list", pliki setup będą uruchamiane w kolejności, w jakiej są zdefiniowane. Jeśli ustawiono na "parallel", pliki setup będą uruchamiane równolegle (domyślnie: "parallel"
).
inspect
- CLI:
--inspect [[host:]port]
- Konfiguracja: inspect
Włącza inspektora Node.js (domyślnie: 127.0.0.1:9229
).
inspectBrk
- CLI:
--inspectBrk [[host:]port]
- Konfiguracja: inspectBrk
Włącza inspektora Node.js i zatrzymuje wykonanie przed rozpoczęciem testu.
testTimeout
- CLI:
--testTimeout <limit_czasu>
- Konfiguracja: testTimeout
Domyślny limit czasu testu w milisekundach (domyślnie: 5000
). Wartość 0
całkowicie wyłącza limit czasu.
hookTimeout
- CLI:
--hookTimeout <limit_czasu>
- Konfiguracja: hookTimeout
Domyślny limit czasu hooka w milisekundach (domyślnie: 10000
). Wartość 0
całkowicie wyłącza limit czasu.
bail
- CLI:
--bail <liczba>
- Konfiguracja: bail
Zatrzymuje wykonywanie testów, gdy podana liczba testów zakończy się niepowodzeniem (domyślnie: 0
).
retry
- CLI:
--retry <razy>
- Konfiguracja: retry
Ponawia test określoną liczbę razy, jeśli zakończy się niepowodzeniem (domyślnie: 0
).
diff.aAnnotation
- CLI:
--diff.aAnnotation <etykieta>
- Konfiguracja: diff.aAnnotation
Etykieta dla oczekiwanych linii (domyślnie: Expected
).
diff.aIndicator
- CLI:
--diff.aIndicator <symbol>
- Konfiguracja: diff.aIndicator
Symbol dla oczekiwanych linii (domyślnie: -
).
diff.bAnnotation
- CLI:
--diff.bAnnotation <etykieta>
- Konfiguracja: diff.bAnnotation
Etykieta dla otrzymanych linii (domyślnie: Received
).
diff.bIndicator
- CLI:
--diff.bIndicator <symbol>
- Konfiguracja: diff.bIndicator
Symbol dla otrzymanych linii (domyślnie: +
).
diff.commonIndicator
- CLI:
--diff.commonIndicator <symbol>
- Konfiguracja: diff.commonIndicator
Symbol dla wspólnych linii (domyślnie: ).
diff.contextLines
- CLI:
--diff.contextLines <linie>
- Konfiguracja: diff.contextLines
Liczba linii kontekstu wyświetlanych wokół każdej zmiany (domyślnie: 5
).
diff.emptyFirstOrLastLinePlaceholder
- CLI:
--diff.emptyFirstOrLastLinePlaceholder <znak_zastępczy>
- Konfiguracja: diff.emptyFirstOrLastLinePlaceholder
Znak zastępczy dla pustej pierwszej lub ostatniej linii (domyślnie: ""
).
diff.expand
- CLI:
--diff.expand
- Konfiguracja: diff.expand
Rozwija wszystkie wspólne linie (domyślnie: true
).
diff.includeChangeCounts
- CLI:
--diff.includeChangeCounts
- Konfiguracja: diff.includeChangeCounts
Uwzględnia liczbę zmian w wynikach różnic (domyślnie: false
).
diff.omitAnnotationLines
- CLI:
--diff.omitAnnotationLines
- Konfiguracja: diff.omitAnnotationLines
Pomija linie adnotacji z wyjścia (domyślnie: false
).
diff.printBasicPrototype
- CLI:
--diff.printBasicPrototype
- Konfiguracja: diff.printBasicPrototype
Drukuje podstawowy prototyp Object i Array (domyślnie: true
).
diff.maxDepth
- CLI:
--diff.maxDepth <maxGłębokość>
- Konfiguracja: diff.maxDepth
Ogranicza głębokość rekurencji podczas drukowania zagnieżdżonych obiektów (domyślnie: 20
).
diff.truncateThreshold
- CLI:
--diff.truncateThreshold <próg>
- Konfiguracja: diff.truncateThreshold
Liczba linii wyświetlanych przed i po każdej zmianie (domyślnie: 0
).
diff.truncateAnnotation
- CLI:
--diff.truncateAnnotation <adnotacja>
- Konfiguracja: diff.truncateAnnotation
Adnotacja dla obciętych linii (domyślnie: ... Wynik różnic został obcięty
).
exclude
- CLI:
--exclude <glob>
- Konfiguracja: exclude
Dodatkowe wzorce glob plików, które mają być wykluczone z testów.
expandSnapshotDiff
- CLI:
--expandSnapshotDiff
- Konfiguracja: expandSnapshotDiff
Wyświetla pełną różnicę, gdy migawka zakończy się niepowodzeniem.
disableConsoleIntercept
- CLI:
--disableConsoleIntercept
- Konfiguracja: disableConsoleIntercept
Wyłącza automatyczne przechwytywanie logowania konsoli (domyślnie: false
).
typecheck.enabled
- CLI:
--typecheck.enabled
- Konfiguracja: typecheck.enabled
Włącza sprawdzanie typów wraz z testami (domyślnie: false
).
typecheck.only
- CLI:
--typecheck.only
- Konfiguracja: typecheck.only
Uruchamia tylko testy sprawdzania typów. Automatycznie włącza to sprawdzanie typów (domyślnie: false
).
typecheck.checker
- CLI:
--typecheck.checker <nazwa>
- Konfiguracja: typecheck.checker
Określa narzędzie do sprawdzania typów. Dostępne wartości to: "tsc" i "vue-tsc" oraz ścieżka do pliku wykonywalnego (domyślnie: "tsc"
).
typecheck.allowJs
- CLI:
--typecheck.allowJs
- Konfiguracja: typecheck.allowJs
Zezwala na sprawdzanie typów plików JavaScript. Domyślnie przyjmuje wartość z tsconfig.json
.
typecheck.ignoreSourceErrors
- CLI:
--typecheck.ignoreSourceErrors
- Konfiguracja: typecheck.ignoreSourceErrors
Ignoruje błędy typów z plików źródłowych.
typecheck.tsconfig
- CLI:
--typecheck.tsconfig <ścieżka>
- Konfiguracja: typecheck.tsconfig
Ścieżka niestandardowego pliku tsconfig
.
typecheck.spawnTimeout
- CLI:
--typecheck.spawnTimeout <czas>
- Konfiguracja: typecheck.spawnTimeout
Minimalny czas (ms) potrzebny na uruchomienie narzędzia do sprawdzania typów.
project
- CLI:
--project <nazwa>
- Konfiguracja: project
Nazwa projektu do uruchomienia, jeśli korzystasz z funkcji obszaru roboczego Vitest. Można ją powtórzyć dla wielu projektów: --project=1 --project=2
. Możliwe jest również filtrowanie projektów za pomocą symboli wieloznacznych, takich jak --project=packages*
, oraz wykluczanie projektów za pomocą --project=!pattern
.
slowTestThreshold
- CLI:
--slowTestThreshold <próg>
- Konfiguracja: slowTestThreshold
Próg w milisekundach, powyżej którego test lub zestaw jest uznawany za wolny (domyślnie: 300
).
teardownTimeout
- CLI:
--teardownTimeout <limit_czasu>
- Konfiguracja: teardownTimeout
Domyślny limit czasu funkcji teardown
w milisekundach (domyślnie: 10000
).
maxConcurrency
- CLI:
--maxConcurrency <liczba>
- Konfiguracja: maxConcurrency
Maksymalna liczba współbieżnych testów w jednym zestawie (domyślnie: 5
).
expect.requireAssertions
- CLI:
--expect.requireAssertions
- Konfiguracja: expect.requireAssertions
Wymaga, by każdy test zawierał co najmniej jedno twierdzenie.
expect.poll.interval
- CLI:
--expect.poll.interval <interwał>
- Konfiguracja: expect.poll.interval
Interwał sprawdzania w milisekundach dla asercji expect.poll()
(domyślnie: 50
).
expect.poll.timeout
- CLI:
--expect.poll.timeout <limit_czasu>
- Konfiguracja: expect.poll.timeout
Limit czasu odpytywania w milisekundach dla asercji expect.poll()
(domyślnie: 1000
).
printConsoleTrace
- CLI:
--printConsoleTrace
- Konfiguracja: printConsoleTrace
Zawsze drukuje ślady stosu konsoli.
includeTaskLocation
- CLI:
--includeTaskLocation
- Konfiguracja: includeTaskLocation
Zbiera lokalizacje testów i zestawów we właściwości location
.
attachmentsDir
- CLI:
--attachmentsDir <katalog>
- Konfiguracja: attachmentsDir
Katalog, w którym przechowywane są załączniki z context.annotate
(domyślnie: .vitest-attachments
).
run
- CLI:
--run
Wyłącza tryb obserwacji.
color
- CLI:
--no-color
Wyłącza kolory z wyjścia konsoli.
clearScreen
- CLI:
--clearScreen
Czyści ekran terminala podczas ponownego uruchamiania testów w trybie obserwacji (domyślnie: true
).
configLoader
- CLI:
--configLoader <ładowarka>
Używa bundle
do spakowania konfiguracji za pomocą esbuild, lub runner
(eksperymentalne) do przetwarzania jej na bieżąco. Dostępne tylko w wersji Vite 6.1.0 i nowszych (domyślnie: bundle
).
standalone
- CLI:
--standalone
Uruchamia Vitest bez wykonywania testów. Filtry plików zostaną zignorowane, a testy będą uruchamiane tylko po zmianie (domyślnie: false
).
changed
- Typ:
boolean | string
- Domyślnie: false
Uruchamia testy tylko dotyczące zmienionych plików. Jeśli nie podano wartości, uruchomi testy dotyczące niezacommitowanych zmian (włączając zmiany przygotowane (staged) i nieprzygotowane (unstaged)).
Aby uruchomić testy dla zmian wprowadzonych w ostatnim commicie, możesz użyć --changed HEAD~1
. Możesz również przekazać hash commita (np. --changed 09a9920
) lub nazwę gałęzi (np. --changed origin/develop
).
W połączeniu z pokryciem kodu, raport będzie zawierał tylko pliki, które dotyczyły zmian.
W połączeniu z opcją konfiguracyjną forceRerunTriggers
uruchomi cały zestaw testów, jeśli zostanie zmieniony co najmniej jeden z plików wymienionych na liście forceRerunTriggers
. Domyślnie, zmiany w pliku konfiguracyjnym Vitest i package.json
zawsze skutkują ponownym uruchomieniem całego zestawu.
shard
- Typ:
string
- Domyślnie: disabled
Część zestawu testów do wykonania w formacie <index>
/<count>
, gdzie:
count
to dodatnia liczba całkowita, oznaczająca całkowitą liczbę części, na które zostanie podzielony zestawindex
to dodatnia liczba całkowita, oznaczająca indeks (numer) wybranej części
To polecenie podzieli wszystkie testy na count
równych części i uruchomi tylko te, które przypadają na część o indeksie index
. Na przykład, aby podzielić zestaw testów na trzy części, użyj tego:
vitest run --shard=1/3
vitest run --shard=2/3
vitest run --shard=3/3
WARNING
Nie możesz używać tej opcji, gdy --watch
jest włączony (domyślnie włączone w trybie deweloperskim).
TIP
Jeśli --reporter=blob
jest używany bez pliku wyjściowego, domyślna ścieżka zostanie uzupełniona o bieżącą konfigurację sharda, aby uniknąć kolizji z innymi procesami Vitest.
merge-reports
- Typ:
boolean | string
Scala wszystkie raporty blob znajdujące się w określonym folderze (domyślnie .vitest-reports
). Możesz użyć dowolnych reporterów z tym poleceniem (z wyjątkiem blob
):
vitest --merge-reports --reporter=junit