Rozhraní příkazového řádku
Příkazy
vitest
Spustí Vitest v aktuálním adresáři. Automaticky se přepne do režimu sledování ve vývojovém prostředí a do režimu spuštění v CI.
Můžete předat další argument jako filtr pro testovací soubory, které se mají spustit. Například:
vitest foobar
Spustí pouze testovací soubory, jejichž cesta obsahuje řetězec foobar
. Tento filtr kontroluje pouze přítomnost řetězce a nepodporuje regulární výrazy ani globální vzory (pokud je váš terminál nezpracuje předtím, než je Vitest obdrží).
vitest run
Provede jednorázové spuštění bez režimu sledování.
vitest watch
Spustí všechny testovací sady a sleduje změny. Při změně souborů testy automaticky znovu spustí. Stejné jako spuštění vitest
bez argumentů. V CI se chová jako vitest run
.
vitest dev
Alias pro vitest watch
.
vitest related
Spustí pouze testy, které pokrývají zadané zdrojové soubory. Funguje se statickými importy (např. import('./index.ts')
nebo import index from './index.ts')
), ale ne s dynamickými (např. import(filepath)
). Všechny soubory musí být relativní ke kořenovému adresáři projektu.
Užitečné pro spuštění s lint-staged
nebo v CI.
vitest related /src/index.ts /src/hello-world.js
TIP
Nezapomeňte, že Vitest ve výchozím nastavení běží s povoleným režimem sledování. Pokud používáte nástroje jako lint-staged
, měli byste také předat volbu --run
, aby příkaz mohl úspěšně dokončit.
// .lintstagedrc.js
export default {
'*.{js,ts}': 'vitest related --run',
};
vitest bench
Spustí pouze benchmark testy, které porovnávají výkon.
Možnosti
Možnosti | |
---|---|
-v, --version | Zobrazí číslo verze Vitest. |
-r, --root <path> | Definuje kořenový adresář projektu. |
-c, --config <path> | Cesta ke konfiguračnímu souboru Vitest. |
-u, --update | Aktualizuje snímky (snapshots). |
-w, --watch | Povolí režim sledování změn souborů. |
-t, --testNamePattern <pattern> | Spustí testy, jejichž úplné názvy odpovídají zadanému vzoru. |
--dir <path> | Základní adresář pro vyhledávání testovacích souborů. |
--ui | Povolí grafické uživatelské rozhraní (UI). |
--open | Automaticky otevře UI, pokud je povoleno (výchozí: true ). |
--api [api] | Spustí API pro komunikaci s UI. Dostupné možnosti: --api.port <port> , --api.host [host] a --api.strictPort . |
--threads | Povolí spouštění testů ve vláknech (výchozí: true ). |
--single-thread | Spustí testy v jednom vlákně. Vyžaduje --threads (výchozí: false ). |
--experimental-vm-threads | Spustí testy v poolu workerů s VM izolací (výchozí: false ). |
--experimental-vm-worker-memory-limit | Nastaví maximální povolenou paměť pro worker. Po dosažení limitu bude vytvořen nový worker. |
--silent | Potlačí výstup testů do konzole. |
--isolate | Izoluje prostředí pro každý testovací soubor (výchozí: true ). |
--reporter <name> | Vybere reporter pro výstup výsledků testů: default , verbose , dot , junit , json nebo cesta k vlastnímu reporteru. |
--outputFile <filename/-s> | Zapíše výsledky testů do souboru, pokud je zadána volba --reporter=json nebo --reporter=junit . Prostřednictvím cac's dot notation můžete zadat jednotlivé výstupy pro více reporterů. |
--coverage | Povolí generování reportu pokrytí kódu (coverage report). |
--run | Vypne režim sledování změn. |
--mode | Přepíše režim Vite (výchozí: test ). |
--mode <name> | Přepíše režim Vite (výchozí: test ). |
--globals | Zpřístupní API globálně. |
--dom | Napodobuje browser API pomocí happy-dom. |
--browser [options] | Spustí testy v prohlížeči (výchozí: false ). |
--environment <env> | Prostředí pro spouštění testů (výchozí: node ). |
--passWithNoTests | Ukončí s úspěchem, i když nebyly nalezeny žádné testy. |
--logHeapUsage | Zobrazí využití haldy pro každý test. |
--allowOnly | Povolí spouštění pouze testů a sad označených jako only (výchozí: false v CI, true jinak). |
--dangerouslyIgnoreUnhandledErrors | Ignoruje všechny nezpracované chyby, které se vyskytnou. |
--changed [since] | Spustí testy ovlivněné změněnými soubory (výchozí: false). Viz dokumentace. |
--shard <shard> | Spustí testy v zadaném shardu. |
--sequence | Definuje pořadí, v jakém se mají testy spouštět. Použijte cac's dot notation k určení možností (například použijte --sequence.shuffle ke spuštění testů v náhodném pořadí nebo --sequence.shuffle --sequence.seed SEED_ID ke spuštění v konkrétním pořadí). |
--no-color | Odstraní barvy z výstupu konzole. |
--inspect | Povolí Node.js inspektor pro ladění. |
--inspect-brk | Povolí Node.js inspektor s přerušením při spuštění. |
--bail <number> | Zastaví provádění testů, pokud určitý počet testů selže. |
--retry <times> | Opakuje test zadaný počet opakování, pokud selže. |
-h, --help | Zobrazí nápovědu s dostupnými možnostmi příkazového řádku. |
TIP
Vitest podporuje camel case i kebab case pro argumenty příkazového řádku. Například --passWithNoTests
a --pass-with-no-tests
budou fungovat (--no-color
a --inspect-brk
jsou výjimky).
Vitest také podporuje různé způsoby zadávání hodnot: --reporter dot
a --reporter=dot
jsou oba platné.
Pokud možnost podporuje pole hodnot, musíte možnost předat vícekrát:
vitest --reporter=dot --reporter=default
Boolean možnosti lze negovat předponou no-
. Zadání hodnoty jako false
také funguje:
vitest --no-api
vitest --api=false
changed
Typ:
boolean | string
Výchozí: false
Spustí testy pouze pro změněné soubory. Pokud není zadána žádná hodnota, spustí testy proti neodeslaným změnám (včetně připravených a nepřipravených).
Chcete-li spustit testy proti změnám provedeným v posledním commitu, můžete použít
--changed HEAD~1
. Můžete také předat hash commitu nebo název větve.Pokud je kombinováno s konfigurační volbou
forceRerunTriggers
, spustí celou sadu testů, pokud je nalezena shoda.
shard
Typ:
string
Výchozí: zakázáno
Rozdělí testovací sady do shardů pro spuštění ve formátu
<index>
/<count>
, kde:count
je kladné celé číslo, udávající počet shardů.index
je kladné celé číslo, udávající index shardu (začíná od 1).
Tento příkaz rozdělí všechny testy do
count
stejných částí a spustí pouze ty, které spadají do shardu s indexemindex
. Pro rozdělení sady testů na tři části použijte například toto:shvitest run --shard=1/3 vitest run --shard=2/3 vitest run --shard=3/3
WARNING
Tuto možnost nelze použít s povoleným --watch
(ve výchozím nastavení povoleno v dev).