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 foobarSpustí 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.jsTIP
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=defaultBoolean možnosti lze negovat předponou no-. Zadání hodnoty jako false také funguje:
vitest --no-api
vitest --api=falsechanged
Typ:
boolean | stringVý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:
stringVýchozí: zakázáno
Rozdělí testovací sady do shardů pro spuštění ve formátu
<index>/<count>, kde:countje kladné celé číslo, udávající počet shardů.indexje kladné celé číslo, udávající index shardu (začíná od 1).
Tento příkaz rozdělí všechny testy do
countstejný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).