Skip to content
Vitest 1
Main Navigation PrůvodceAPIKonfiguracePokročilý
1.6.1
0.34.6

čeština

English
简体中文
繁體中文
Español
Français
Русский
Português – Brasil
Deutsch
日本語
한국어
Italiano
Polski
Türkçe
magyar

čeština

English
简体中文
繁體中文
Español
Français
Русский
Português – Brasil
Deutsch
日本語
한국어
Italiano
Polski
Türkçe
magyar

Vzhled

Sidebar Navigation

Průvodce

Proč Vitest

Začínáme

Funkce

Workspace

Rozhraní příkazového řádku

Filtrování testů

Reportéři

Pokrytí

Snímky

Mockování

Testování typů

Vitest UI

Režim prohlížeče

Testování ve zdrojovém kódu

Kontext testu

Testovací prostředí

Rozšíření matcherů/porovnávačů

Integrace do IDE

Ladění

Srovnání s jinými testovacími nástroji

Průvodce migrací

Běžné chyby

Zvýšení výkonu

API

Referenční příručka k Test API

Mock funkce

Vi

expect

expectTypeOf

assert

assertType

Konfigurace

Správa konfiguračního souboru pro Vitest

Konfigurace Vitest

Na této stránce

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:

bash
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.js') nebo import index from './index.js')), 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.

bash
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.

js
// .lintstagedrc.js
export default {
  '*.{js,ts}': 'vitest related --run',
};

vitest bench ​

Spustí pouze benchmark testy, které porovnávají výkon.

Možnosti ​

Možnosti
-r, --root <path>Kořenová cesta
-c, --config <path>Cesta ke konfiguračnímu souboru
-u, --updateAktualizace snapshotů
-w, --watchZapnout režim sledování změn (watch mode)
-t, --testNamePattern <pattern>Spustí testy, jejichž celé názvy odpovídají zadanému regulárnímu výrazu
--dir <path>Základní adresář pro vyhledávání testovacích souborů
--uiZapnout UI
--openAutomaticky otevřít UI (výchozí: !process.env.CI)
--api.port [port]Určete port serveru. Pokud je port již používán, Vite automaticky zkusí další dostupný port, takže se nemusí jednat o skutečný port, na kterém server nakonec poslouchá. Pokud je true, bude nastaveno na 51204
--api.host [host]Určuje, které IP adresy má server poslouchat. Nastavte na 0.0.0.0 nebo true pro poslech na všech adresách, včetně sítí LAN a veřejných adres
--api.strictPortNastaveno na true pro ukončení, pokud je port již používán, místo automatického zkoušení dalšího dostupného portu
--silentPotlačit výstup testů do konzole
--hideSkippedTestsSkrýt logy pro přeskočené testy
--reporter <name>Určete reportéry
--outputFile <filename/-s>Zapíše výsledky testů do souboru, pokud je také určen podporovaný reporter. Pro jednotlivé výstupy více reportérů použijte tečkovou notaci cac (příklad: --outputFile.tap=./tap.txt)
--coverage.allZda zahrnout všechny soubory, včetně netestovaných, do reportu pokrytí
--coverage.provider <name>Vyberte nástroj pro sběr pokrytí, dostupné hodnoty jsou: "v8", "istanbul" a "custom"
--coverage.enabledPovolí sběr pokrytí. Může být přepsáno pomocí CLI možností --coverage (výchozí: false)
--coverage.include <pattern>Soubory zahrnuté do pokrytí jako glob vzory. Může být zadáno vícekrát při použití více vzorů (výchozí: **)
--coverage.exclude <pattern>Soubory, které mají být vyloučeny z pokrytí. Může být zadáno vícekrát při použití více rozšíření (výchozí: Viz coverage.exclude)
--coverage.extension <extension>Přípona souborů, které mají být zahrnuty do pokrytí. Může být zadáno vícekrát při použití více rozšíření (výchozí: [".js", ".cjs", ".mjs", ".ts", ".mts", ".cts", ".tsx", ".jsx", ".vue", ".svelte"])
--coverage.cleanSmazat výsledky pokrytí před spuštěním testů (výchozí: true)
--coverage.cleanOnRerunSmazat report pokrytí při opětovném spuštění ve watch režimu (výchozí: true)
--coverage.reportsDirectory <path>Adresář pro zápis reportu pokrytí (výchozí: ./coverage)
--coverage.reporter <name>Reportéry pokrytí, které se mají použít. Další informace naleznete na coverage.reporter (výchozí: ["text", "html", "clover", "json"])
--coverage.reportOnFailureVygenerovat report pokrytí i v případě, že testy selžou (výchozí: false)
--coverage.allowExternalShromažďovat pokrytí souborů mimo kořenový adresář projektu (výchozí: false)
--coverage.skipFullNezobrazovat soubory se 100% pokrytím příkazů, větví a funkcí (výchozí: false)
--coverage.thresholds.100Zkratka pro nastavení všech prahových hodnot pokrytí na 100 (výchozí: false)
--coverage.thresholds.perFileKontrolovat prahové hodnoty pro každý soubor. Viz --coverage.thresholds.lines, --coverage.thresholds.functions, --coverage.thresholds.branches a --coverage.thresholds.statements pro skutečné prahové hodnoty (výchozí: false)
--coverage.thresholds.autoUpdateAktualizovat hodnoty prahových hodnot: "lines", "functions", "branches" a "statements" do konfiguračního souboru, když je aktuální pokrytí nad konfigurovanými prahovými hodnotami (výchozí: false)
--coverage.thresholds.lines <number>Prahová hodnota pro řádky. Více informací naleznete na istanbuljs. Tato možnost není k dispozici pro vlastní poskytovatele
--coverage.thresholds.functions <number>Prahová hodnota pro funkce. Více informací naleznete na istanbuljs. Tato možnost není k dispozici pro vlastní poskytovatele
--coverage.thresholds.branches <number>Prahová hodnota pro větve. Více informací naleznete na istanbuljs. Tato možnost není k dispozici pro vlastní poskytovatele
--coverage.thresholds.statements <number>Prahová hodnota pro příkazy. Více informací naleznete na istanbuljs. Tato možnost není k dispozici pro vlastní poskytovatele
--coverage.ignoreClassMethods <name>Pole názvů metod tříd, které se mají ignorovat pro pokrytí. Více informací naleznete na istanbuljs. Tato možnost je k dispozici pouze pro poskytovatele istanbul (výchozí: [])
--coverage.processingConcurrency <number>Limit souběžnosti používaný při zpracování výsledků pokrytí. (výchozí min mezi 20 a počtem CPU)
--coverage.customProviderModule <path>Určuje název modulu nebocestu pro vlastní modul poskytovatele pokrytí. Více informací naleznete na Vlastní poskytovatel pokrytí. Tato možnost je k dispozici pouze pro vlastní poskytovatele
--coverage.watermarks.statements <watermarks>Horní a dolní hranice pro příkazy ve formátu <high>,<low>
--coverage.watermarks.lines <watermarks>Horní a dolní hranice pro řádky ve formátu <high>,<low>
--coverage.watermarks.branches <watermarks>Horní a dolní hranice pro větve ve formátu <high>,<low>
--coverage.watermarks.functions <watermarks>Horní a dolní hranice pro funkce ve formátu <high>,<low>
--mode <name>Přepsat režim Vite (výchozí: test nebo benchmark)
--workspace <path>Cesta ke konfiguračnímu souboru workspace
--isolateSpustit každý testovací soubor izolovaně. Pro zakázání izolace použijte --no-isolate (výchozí: true)
--globalsInjektovat API globálně
--domMockovat prohlížečové API pomocí happy-dom
--browser.enabledSpustit testy v prohlížeči. Ekvivalentní k --browser.enabled (výchozí: false)
--browser.name <name>Spustit všechny testy ve specifickém prohlížeči. Některé prohlížeče jsou k dispozici pouze pro specifické poskytovatele (viz --browser.provider). Viz browser.name pro více informací
--browser.headlessSpustit prohlížeč v headless režimu (tj. bez otevírání grafického uživatelského rozhraní (GUI)). Pokud spouštíte Vitest v CI, bude ve výchozím nastavení povoleno (výchozí: process.env.CI)
--browser.api.port [port]Určete port serveru. Pokud je port již používán, Vite automaticky zkusí další dostupný port, takže se nemusí jednat o skutečný port, na kterém server nakonec poslouchá. Pokud je true, bude nastaveno na 63315
--browser.api.host [host]Určuje, které IP adresy má server poslouchat. Nastavte na 0.0.0.0 nebo true pro poslech na všech adresách, včetně sítí LAN a veřejných adres
--browser.api.strictPortNastaveno na true pro ukončení, pokud je port již používán, místo automatického zkoušení dalšího dostupného portu
--browser.provider <name>Poskytovatel použitý pro spuštění testů prohlížeče. Některé prohlížeče jsou k dispozici pouze pro specifické poskytovatele. Může být "webdriverio", "playwright", nebo cesta k vlastnímu poskytovateli. Visit browser.provider pro více informací (výchozí: "webdriverio")
--browser.providerOptions <options>Možnosti, které jsou předány poskytovateli prohlížeče. Viz browser.providerOptions pro více informací
--browser.slowHijackESMNechte Vitest použít vlastní řešení modulů v prohlížeči, aby se umožnily rozhraní API jako vi.mock a vi.spyOn. Visit browser.slowHijackESM pro více informací (výchozí: false)
--browser.isolateSpustit každý testovací soubor prohlížeče izolovaně. Chcete-li zakázat izolaci, použijte --browser.isolate=false (výchozí: true)
--browser.fileParallelismMají se všechny testovací soubory spouštět paralelně. Použijte --browser.file-parallelism=false pro zakázání (výchozí: stejné jako --file-parallelism)
--pool <pool>Určete fond (pool), pokud se neběží v prohlížeči (výchozí: threads)
--poolOptions.threads.isolateIzolovat testy ve fondu vláken (výchozí: true)
--poolOptions.threads.singleThreadSpustit testy v jednom vlákně (výchozí: false)
--poolOptions.threads.maxThreads <workers>Maximální počet vláken pro spuštění testů
--poolOptions.threads.minThreads <workers>Minimální počet vláken pro spuštění testů
--poolOptions.threads.useAtomicsPoužít Atomics pro synchronizaci vláken. To může zlepšit výkon v některých případech, ale může způsobit segfault ve starších verzích Node (výchozí: false)
--poolOptions.vmThreads.isolateIzolovat testy ve fondu vláken (výchozí: true)
--poolOptions.vmThreads.singleThreadSpustit testy v jednom vlákně (výchozí: false)
--poolOptions.vmThreads.maxThreads <workers>Maximální počet vláken pro spuštění testů
--poolOptions.vmThreads.minThreads <workers>Minimální počet vláken pro spuštění testů
--poolOptions.vmThreads.useAtomicsPoužít Atomics pro synchronizaci vláken. To může zlepšit výkon v některých případech, ale může způsobit segfault ve starších verzích Node (výchozí: false)
--poolOptions.vmThreads.memoryLimit <limit>Limit paměti pro fond VM vláken. Pokud vidíte úniky paměti, zkuste tuto hodnotu vyladit.
--poolOptions.forks.isolateIzolovat testy ve fondu forks (výchozí: true)
--poolOptions.forks.singleForkSpustit testy v jednom child_process (výchozí: false)
--poolOptions.forks.maxForks <workers>Maximální počet procesů pro spuštění testů
--poolOptions.forks.minForks <workers>Minimální počet procesů pro spuštění testů
--poolOptions.vmForks.isolateIzolovat testy ve fondu forks (výchozí: true)
--poolOptions.vmForks.singleForkSpustit testy v jednom child_process (výchozí: false)
--poolOptions.vmForks.maxForks <workers>Maximální počet procesů pro spuštění testů
--poolOptions.vmForks.minForks <workers>Minimální počet procesů pro spuštění testů
--poolOptions.vmForks.memoryLimit <limit>Limit paměti pro fond VM forks. Pokud vidíte úniky paměti, zkuste tuto hodnotu vyladit.
--fileParallelismMají se všechny testovací soubory spouštět paralelně. Použijte --no-file-parallelism pro zakázání (výchozí: true)
--maxWorkers <workers>Maximální počet workerů pro spuštění testů
--minWorkers <workers>Minimální počet workerů pro spuštění testů
--environment <name>Určete prostředí runneru, pokud se neběží v prohlížeči (výchozí: node)
--passWithNoTestsProjít, i když nebyly nalezeny žádné testy
--logHeapUsageZobrazit velikost haldy pro každý test při spuštění v Node
--allowOnlyPovolit testy a sady, které jsou označeny jako only (výchozí: !process.env.CI)
--dangerouslyIgnoreUnhandledErrorsIgnorovat jakékoli nezachycené chyby, které se vyskytnou
--shard <shards>Test suite shard to execute in a format of <index>/<count>
--changed [since]Spustit testy, které jsou ovlivněny změněnými soubory (výchozí: false)
--sequence.shuffle.filesSpustit soubory v náhodném pořadí. Dlouhotrvající testy nezačnou dříve, pokud povolíte tuto možnost. (výchozí: false)
--sequence.shuffle.testsSpustit testy v náhodném pořadí (výchozí: false)
--sequence.concurrentZajistit paralelní spouštění testů (výchozí: false)
--sequence.seed <seed>Nastavit seed pro randomizaci. Tato možnost nebude mít žádný efekt, pokud je --sequence.shuffle nepravdivá. Viz "Random Seed" page pro více informací
--sequence.hooks <order>Změní pořadí, ve kterém jsou spouštěny hooky. Akceptované hodnoty jsou: "stack", "list" a "parallel". Viz sequence.hooks pro více informací (výchozí: "parallel")
--sequence.setupFiles <order>Změní pořadí, ve kterém jsou spouštěny setup soubory. Akceptované hodnoty jsou: "list" a "parallel". Pokud je nastaveno na "list", setup soubory budou spuštěny v pořadí, v jakém jsou definovány. Pokud je nastaveno na "parallel", setup soubory budou spuštěny paralelně (výchozí: "parallel")
--inspect [[host:]port]Zapnout Node.js inspektor (výchozí: 127.0.0.1:9229)
--inspectBrk [[host:]port]Zapnout Node.js inspektor a zastavit se před spuštěním testu
--testTimeout <timeout>Výchozí timeout testu v milisekundách (výchozí: 5000)
--hookTimeout <timeout>Výchozí timeout hooku v milisekundách (výchozí: 10000)
--bail <number>Zastavit provádění testů, když daný počet testů selhal (výchozí: 0)
--retry <times>Opakovat test specifický počet krát, pokud selže (výchozí: 0)
--diff <path>Cesta ke konfiguračnímu souboru diff, který bude použit ke generování diff rozhraní
--exclude <glob>Další glob vzory souborů, které mají být vyloučeny z testu
--expandSnapshotDiffZobrazit celý diff při selhání snapshotu
--disableConsoleInterceptZakázat automatické zachytávání console loggingu (výchozí: false)
--typecheck.enabledPovolit typechecking spolu s testy (výchozí: false)
--typecheck.onlySpustit pouze typecheck testy. Automaticky povolí typecheck (výchozí: false)
--typecheck.checker <name>Určete typechecker, který se má použít. Dostupné hodnoty jsou: "tcs" a "vue-tsc" a cesta ke spustitelnému souboru (výchozí: "tsc")
--typecheck.allowJsPovolit typechecking JavaScript souborů. Ve výchozím nastavení přebírá hodnotu z tsconfig.json
--typecheck.ignoreSourceErrorsIgnorovat chyby typu ze zdrojových souborů
--typecheck.tsconfig <path>Cesta k vlastnímu tsconfig souboru
--project <name>Název projektu, který se má spustit, pokud používáte funkci Vitest workspace. To lze opakovat pro více projektů: --project=1 --project=2. Projekty můžete také filtrovat pomocí zástupných znaků, jako je --project=packages*
--slowTestThreshold <threshold>Prahová hodnota v milisekundách, kdy je test považován za pomalý (výchozí: 300)
--teardownTimeout <timeout>Výchozí timeout funkce teardown v milisekundách (výchozí: 10000)
--maxConcurrency <number>Maximální počet souběžných testů v sadě (výchozí: 5)
--runZakázat režim sledování změn (watch mode)
--segfaultRetry <times>Zkusit testovací sadu znovu, pokud spadne kvůli segfault (výchozí: true)
--no-colorOdstraní barvy z výstupu konzole
--clearScreenVymaže obrazovku terminálu při opakovaném spouštění testů v režimu sledování změn (výchozí: true)
--standaloneSpustit Vitest bez spouštění testů. Filtry souborů budou ignorovány, testy budou spouštěny pouze při změně (výchozí: false)

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 na změnách provedených v posledním commitu, můžete použít --changed HEAD~1. Můžete také předat hash commitu (např. --changed 09a9920) nebo název větve (např. --changed origin/develop).

    Při použití s pokrytím kódu bude sestava obsahovat pouze soubory, které souvisejí se změnami.

    Pokud je spárována s možností konfigurace forceRerunTriggers, spustí se celá sada testů, pokud se změní alespoň jeden ze souborů uvedených v seznamu forceRerunTriggers. Ve výchozím nastavení změny v konfiguračním souboru Vitest a v package.json vždy znovu spustí celou sadu.

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 indexem index. Pro rozdělení sady testů na tři části použijte například toto:

    sh
    vitest 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).

Pager
Předchozí stránkaWorkspace
Další stránkaFiltrování testů

Vydáno pod licencí MIT.

Copyright (c) 2024 Mithril Contributors

https://v1.vitest.dev/guide/cli

Vydáno pod licencí MIT.

Copyright (c) 2024 Mithril Contributors