Parancssori felület
Parancsok
vitest
Elindítja a Vitest alkalmazást az aktuális könyvtárban. Fejlesztői környezetben automatikusan figyelő (watch) módba lép, míg CI-környezetben futtatási (run) módba vált.
További argumentumként átadhatja a futtatandó tesztfájlok szűrőjét. Például:
vitest foobar
Csak azokat a tesztfájlokat futtatja, amelyek elérési útvonalában szerepel a foobar
szöveg. Ez a szűrő csak a tartalmazást ellenőrzi, nem támogatja a reguláris kifejezéseket vagy glob mintákat.
vitest run
Egyszeri futtatás figyelő mód nélkül.
vitest watch
Futtatja az összes tesztcsomagot, figyeli a változásokat, és a változásokkor újra futtatja a teszteket. Ugyanaz, mint a vitest
argumentum nélküli meghívása. CI-környezetben a vitest run
parancsot használja.
vitest dev
A vitest watch
parancs aliasa.
vitest related
Csak azokat a teszteket futtatja, amelyek a megadott forrásfájlokat érintik. Statikus importokkal működik (pl. import('./index.js')
vagy import index from './index.js'
), de a dinamikus importokkal nem (pl. import(filepath)
). Minden fájlnak a gyökérkönyvtárhoz viszonyított relatív útvonalát kell megadni.
Hasznos a lint-staged
vagy CI beállításokkal való használathoz.
vitest related /src/index.ts /src/hello-world.js
TIP
Ne felejtse el, hogy a Vitest alapértelmezés szerint figyelő módban fut. Ha olyan eszközöket használ, mint a lint-staged
, akkor a --run
opciót is át kell adnia, hogy a parancs normálisan befejeződhessen.
// .lintstagedrc.js
export default {
'*.{js,ts}': 'vitest related --run',
};
vitest bench
Csak a benchmark teszteket futtatja, amelyek a teljesítményeredményeket hasonlítják össze.
Opciók
Opciók | |
---|---|
-r, --root <útvonal> | Gyökérútvonal |
-c, --config <útvonal> | Konfigurációs fájl útvonala |
-u, --update | Pillanatkép frissítése |
-w, --watch | Figyelő mód engedélyezése |
-t, --testNamePattern <minta> | Tesztek futtatása a megadott reguláris kifejezésmintával egyező teljes nevekkel |
--dir <útvonal> | A tesztfájlok szkennelésének alapkönyvtára |
--ui | Felhasználói felület engedélyezése |
--open | Felhasználói felület automatikus megnyitása (alapértelmezett: !process.env.CI ) |
--api.port [port] | Szerver portjának megadása. Megjegyzés: ha a port már használatban van, a Vite automatikusan megpróbálja a következő elérhető portot, így ez nem biztos, hogy a tényleges port, amelyet a szerver végül figyel. Ha igaz értékre van állítva, 51204 lesz |
--api.host [host] | Megadja, hogy a szerver mely IP-címeken figyeljen. Állítsa be 0.0.0.0 -ra vagy true -ra, hogy minden címen figyeljen, beleértve a LAN és a nyilvános címeket is |
--api.strictPort | Ha igaz értékre van állítva, kilép, ha a port már használatban van, ahelyett, hogy automatikusan megpróbálná a következő elérhető portot |
--silent | Csendes konzolkimenet a tesztekből |
--hideSkippedTests | Kihagyott tesztek naplóinak elrejtése |
--reporter <név> | Riportkészítők megadása |
--outputFile <fájlnév/-ek> | A tesztek eredményeinek fájlba írása, ha a támogatott riportkészítő is meg van adva, használja a cac pont jelölését a több riportkészítő egyedi kimeneteihez (példa: --outputFile.tap=./tap.txt) |
--coverage.all | Tartalmazza-e az összes fájlt, beleértve a nem tesztelt fájlokat is a jelentésben |
--coverage.provider <név> | Kiválasztja a lefedettség gyűjtésének eszközét, a rendelkezésre álló értékek: "v8", "istanbul" és "custom" |
--coverage.enabled | Engedélyezi a lefedettség gyűjtését. Felülbírálható a --coverage CLI opcióval (alapértelmezett: false ) |
--coverage.include <minta> | A lefedettségben szereplő fájlok glob mintákként. Többször is megadható több minta használatakor (alapértelmezett: ** ) |
--coverage.exclude <minta> | A lefedettségből kizárandó fájlok. Többször is megadható több kiterjesztés használatakor (alapértelmezett: Lásd: coverage.exclude ) |
--coverage.extension <kiterjesztés> | A lefedettségbe belefoglalandó kiterjesztés. Többször is megadható több kiterjesztés használatakor (alapértelmezett: [".js", ".cjs", ".mjs", ".ts", ".mts", ".cts", ".tsx", ".jsx", ".vue", ".svelte"] ) |
--coverage.clean | A lefedettségi eredmények törlése a tesztek futtatása előtt (alapértelmezett: true) |
--coverage.cleanOnRerun | A lefedettségi jelentés törlése a figyelő újrafutásakor (alapértelmezett: true) |
--coverage.reportsDirectory <útvonal> | A lefedettségi jelentés írásának könyvtára (alapértelmezett: ./coverage) |
--coverage.reporter <név> | Használandó lefedettségi riportkészítők. További információkért látogasson el a coverage.reporter oldalra (alapértelmezett: ["text", "html", "clover", "json"] ) |
--coverage.reportOnFailure | Lefedettségi jelentés generálása akkor is, ha a tesztek sikertelenek (alapértelmezett: false ) |
--coverage.allowExternal | Lefedettség gyűjtése a projekt gyökérkönyvtárán kívüli fájlokról (alapértelmezett: false ) |
--coverage.skipFull | Ne mutassa azokat a fájlokat, amelyek 100%-os utasítás-, ág- és függvénylefedettséggel rendelkeznek (alapértelmezett: false ) |
--coverage.thresholds.100 | Gyorsbillentyű az összes lefedettségi küszöbérték 100-ra állításához (alapértelmezett: false ) |
--coverage.thresholds.perFile | Küszöbértékek ellenőrzése fájlonként. Lásd a --coverage.thresholds.lines , --coverage.thresholds.functions , --coverage.thresholds.branches és --coverage.thresholds.statements elemeket a tényleges küszöbértékekhez (alapértelmezett: false ) |
--coverage.thresholds.autoUpdate | Frissítse a küszöbértékeket: "lines", "functions", "branches" és "statements" a konfigurációs fájlban, ha az aktuális lefedettség meghaladja a konfigurált küszöbértékeket (alapértelmezett: false ) |
--coverage.thresholds.lines <szám> | A sorok küszöbértéke. További információkért látogasson el az istanbuljs oldalra. Ez az opció nem érhető el egyéni szolgáltatók számára |
--coverage.thresholds.functions <szám> | A függvények küszöbértéke. További információkért látogasson el az istanbuljs oldalra. Ez az opció nem érhető el egyéni szolgáltatók számára |
--coverage.thresholds.branches <szám> | Az ágak küszöbértéke. További információkért látogasson el az istanbuljs oldalra. Ez az opció nem érhető el egyéni szolgáltatók számára |
--coverage.thresholds.statements <szám> | Az utasítások küszöbértéke. További információkért látogasson el az istanbuljs oldalra. Ez az opció nem érhető el egyéni szolgáltatók számára |
--coverage.ignoreClassMethods <név> | A lefedettség szempontjából figyelmen kívül hagyandó osztálymódszernevek tömbje. További információkért látogasson el az istanbuljs oldalra. Ez az opció csak az istanbul szolgáltatók számára érhető el (alapértelmezett: [] ) |
--coverage.processingConcurrency <szám> | A lefedettségi eredmények feldolgozásakor használt párhuzamossági limit. (alapértelmezett minimum a 20 és a CPU-k száma között) |
--coverage.customProviderModule <útvonal> | Megadja az egyéni lefedettségi szolgáltató modul modulnevét vagy útvonalát. További információkért látogasson el az Egyéni lefedettségi szolgáltató oldalra. Ez az opció csak egyéni szolgáltatók számára érhető el |
--coverage.watermarks.statements <vízjelek> | Utasítások magas és alacsony vízjelei <magas>,<alacsony> formátumban |
--coverage.watermarks.lines <vízjelek> | Sorok magas és alacsony vízjelei <magas>,<alacsony> formátumban |
--coverage.watermarks.branches <vízjelek> | Ágak magas és alacsony vízjelei <magas>,<alacsony> formátumban |
--coverage.watermarks.functions <vízjelek> | Függvények magas és alacsony vízjelei <magas>,<alacsony> formátumban |
--mode <név> | Felülírja a Vite módot (alapértelmezett: test vagy benchmark ) |
--workspace <útvonal> | Munkaterület konfigurációs fájljának útvonala |
--isolate | Minden tesztfájl futtatása elkülönítve. Az elkülönítés letiltásához használja a --no-isolate elemet (alapértelmezett: true ) |
--globals | API-k globális injektálása |
--dom | Böngésző API szimulálása a happy-dom segítségével |
--browser.enabled | Tesztek futtatása a böngészőben. Egyenértékű a --browser.enabled értékkel (alapértelmezett: false ) |
--browser.name <név> | Összes teszt futtatása egy adott böngészőben. Egyes böngészők csak bizonyos szolgáltatók számára érhetők el (lásd: --browser.provider ). További információkért látogasson el a browser.name oldalra |
--browser.headless | A böngésző futtatása fej nélküli módban (azaz a GUI (grafikus felhasználói felület) megnyitása nélkül). Ha a Vitest-et CI-ben futtatja, alapértelmezés szerint engedélyezve lesz (alapértelmezett: process.env.CI ) |
--browser.api.port [port] | Szerver portjának megadása. Megjegyzés: ha a port már használatban van, a Vite automatikusan megpróbálja a következő elérhető portot, így ez nem biztos, hogy a tényleges port, amelyet a szerver végül figyel. Ha igaz értékre van állítva, 63315 lesz |
--browser.api.host [host] | Megadja, hogy a szerver mely IP-címeken figyeljen. Állítsa be 0.0.0.0 -ra vagy true -ra, hogy minden címen figyeljen, beleértve a LAN és a nyilvános címeket is |
--browser.api.strictPort | Ha igaz értékre van állítva, kilép, ha a port már használatban van, ahelyett, hogy automatikusan megpróbálná a következő elérhető portot |
--browser.provider <név> | A böngészőtesztek futtatásához használt szolgáltató. Egyes böngészők csak bizonyos szolgáltatók számára érhetők el. Lehet "webdriverio", "playwright" vagy egy egyéni szolgáltató útvonala. További információkért látogasson el a browser.provider oldalra (alapértelmezett: "webdriverio" ) |
--browser.providerOptions <opciók> | A böngészőszolgáltatónak átadott opciók. További információkért látogasson el a browser.providerOptions oldalra |
--browser.slowHijackESM | Hagyja, hogy a Vitest a saját modulmegoldását használja a böngészőben az olyan API-k engedélyezéséhez, mint a vi.mock és a vi.spyOn. További információkért látogasson el a browser.slowHijackESM oldalra (alapértelmezett: false ) |
--browser.isolate | Minden böngészőtesztfájl futtatása elkülönítve. Az elkülönítés letiltásához használja a --browser.isolate=false elemet (alapértelmezett: true ) |
--browser.fileParallelism | Minden tesztfájl párhuzamosan fusson-e. Használja a --browser.file-parallelism=false elemet a letiltáshoz (alapértelmezett: megegyezik a --file-parallelism értékével) |
--pool <pool> | Adja meg a készletet, ha nem a böngészőben fut (alapértelmezett: threads ) |
--poolOptions.threads.isolate | A tesztek elkülönítése a szálak készletében (alapértelmezett: true ) |
--poolOptions.threads.singleThread | Tesztek futtatása egyetlen szálon belül (alapértelmezett: false ) |
--poolOptions.threads.maxThreads <munkások> | A tesztek futtatásához használt szálak maximális száma |
--poolOptions.threads.minThreads <munkások> | A tesztek futtatásához használt szálak minimális száma |
--poolOptions.threads.useAtomics | Az Atomics használata a szálak szinkronizálásához. Ez bizonyos esetekben javíthatja a teljesítményt, de régebbi Node verziókban szegmentációs hibákat okozhat (alapértelmezett: false ) |
--poolOptions.vmThreads.isolate | A tesztek elkülönítése a szálak készletében (alapértelmezett: true ) |
--poolOptions.vmThreads.singleThread | Tesztek futtatása egyetlen szálon belül (alapértelmezett: false ) |
--poolOptions.vmThreads.maxThreads <munkások> | A tesztek futtatásához használt szálak maximális száma |
--poolOptions.vmThreads.minThreads <munkások> | A tesztek futtatásához használt szálak minimális száma |
--poolOptions.vmThreads.useAtomics | Az Atomics használata a szálak szinkronizálásához. Ez bizonyos esetekben javíthatja a teljesítményt, de régebbi Node verziókban szegmentációs hibákat okozhat (alapértelmezett: false ) |
--poolOptions.vmThreads.memoryLimit <limit> | A VM szálak készletének memóriakorlátja. Ha memóriaszivárgást tapasztal, próbálja meg finomhangolni ezt az értéket. |
--poolOptions.forks.isolate | A tesztek elkülönítése a forks készletben (alapértelmezett: true ) |
--poolOptions.forks.singleFork | Tesztek futtatása egyetlen child_process-en belül (alapértelmezett: false ) |
--poolOptions.forks.maxForks <munkások> | A tesztek futtatásához használt folyamatok maximális száma |
--poolOptions.forks.minForks <munkások> | A tesztek futtatásához használt folyamatok minimális száma |
--poolOptions.vmForks.isolate | A tesztek elkülönítése a forks készletben (alapértelmezett: true ) |
--poolOptions.vmForks.singleFork | Tesztek futtatása egyetlen child_process-en belül (alapértelmezett: false ) |
--poolOptions.vmForks.maxForks <munkások> | A tesztek futtatásához használt folyamatok maximális száma |
--poolOptions.vmForks.minForks <munkások> | A tesztek futtatásához használt folyamatok minimális száma |
--poolOptions.vmForks.memoryLimit <limit> | A VM forks készletének memóriakorlátja. Ha memóriaszivárgást tapasztal, próbálja meg finomhangolni ezt az értéket. |
--fileParallelism | Minden tesztfájl párhuzamosan fusson-e. Használja a --no-file-parallelism elemet a letiltáshoz (alapértelmezett: true ) |
--maxWorkers <munkások> | A tesztek futtatásához használt munkások maximális száma |
--minWorkers <munkások> | A tesztek futtatásához használt munkások minimális száma |
--environment <név> | Adja meg a futtatói környezetet, ha nem a böngészőben fut (alapértelmezett: node ) |
--passWithNoTests | Sikeres, ha nem talál teszteket |
--logHeapUsage | A heap méretének megjelenítése minden teszthez, ha node-ban fut |
--allowOnly | Csak a megjelölt tesztek és csomagok engedélyezése (alapértelmezett: !process.env.CI ) |
--dangerouslyIgnoreUnhandledErrors | A kezelhetetlen hibák figyelmen kívül hagyása |
--shard <darabok> | Tesztcsomag darab, amelyet <index>/<szám> formátumban kell végrehajtani |
--changed [óta] | A megváltozott fájlok által érintett tesztek futtatása (alapértelmezett: false ) |
--sequence.shuffle.files | A fájlok véletlenszerű sorrendben történő futtatása. A hosszú ideig futó tesztek nem indulnak el hamarabb, ha engedélyezi ezt az opciót. (alapértelmezett: false ) |
--sequence.shuffle.tests | A tesztek véletlenszerű sorrendben történő futtatása (alapértelmezett: false ) |
--sequence.concurrent | Tesztek futtatása párhuzamosan (alapértelmezett: false ) |
--sequence.seed <seed> | Véletlenszerűsítési mag beállítása. Ennek az opciónak nincs hatása, ha a --sequence.shuffle hamis. További információkért látogasson el a "Véletlenszerű mag" oldalra |
--sequence.hooks <sorrend> | Megváltoztatja a hookok végrehajtási sorrendjét. Elfogadott értékek: "stack", "list" és "parallel". További információkért látogasson el a sequence.hooks oldalra (alapértelmezett: "parallel" ) |
--sequence.setupFiles <sorrend> | Megváltoztatja a beállítási fájlok végrehajtási sorrendjét. Elfogadott értékek: "list" és "parallel". Ha "list" értékre van állítva, a beállítási fájlok a definiált sorrendben lesznek futtatva. Ha "parallel" értékre van állítva, a beállítási fájlok párhuzamosan lesznek futtatva (alapértelmezett: "parallel" ) |
--inspect [[host:]port] | Node.js inspector engedélyezése (alapértelmezett: 127.0.0.1:9229 ) |
--inspectBrk [[host:]port] | Node.js inspector engedélyezése és a teszt indítása előtti megszakítás |
--testTimeout <időtúllépés> | A teszt alapértelmezett időtúllépése ezredmásodpercben (alapértelmezett: 5000 ) |
--hookTimeout <időtúllépés> | Az alapértelmezett hook időtúllépése ezredmásodpercben (alapértelmezett: 10000 ) |
--bail <szám> | A teszt végrehajtásának leállítása, ha a megadott számú teszt sikertelen (alapértelmezett: 0 ) |
--retry <alkalmak> | A teszt meghatározott számú alkalommal történő újrapróbálkozása, ha sikertelen (alapértelmezett: 0 ) |
--diff <útvonal> | A diff konfigurációjának útvonala, amelyet a diff felület generálásához használnak |
--exclude <glob> | További fájl glob-ok, amelyek kizárhatók a tesztből |
--expandSnapshotDiff | Pillanatkép meghibásodása esetén teljes diff megjelenítése |
--disableConsoleIntercept | A konzolnaplózás automatikus elfogásának letiltása (alapértelmezett: false ) |
--typecheck.enabled | Típusellenőrzés engedélyezése a tesztek mellett (alapértelmezett: false ) |
--typecheck.only | Csak a típusellenőrzési tesztek futtatása. Ez automatikusan engedélyezi a típusellenőrzést (alapértelmezett: false ) |
--typecheck.checker <név> | A használandó típusellenőrző megadása. A rendelkezésre álló értékek: "tcs" és "vue-tsc", valamint egy végrehajtható fájl elérési útja (alapértelmezett: "tsc" ) |
--typecheck.allowJs | JavaScript fájlok típusellenőrzésének engedélyezése. Alapértelmezés szerint a tsconfig.json fájlból veszi az értéket |
--typecheck.ignoreSourceErrors | A forrásfájlok típushibáinak figyelmen kívül hagyása |
--typecheck.tsconfig <útvonal> | Egyéni tsconfig fájl elérési útja |
--project <név> | A futtatandó projekt neve, ha a Vitest munkaterület funkcióját használja. Ez többször is megismételhető több projekthez: --project=1 --project=2 . A projekteket helyettesítő karakterekkel is szűrheti, például --project=packages* |
--slowTestThreshold <küszöbérték> | Az a küszöbérték ezredmásodpercben, amely felett egy teszt lassúnak minősül (alapértelmezett: 300 ) |
--teardownTimeout <időtúllépés> | A teardown függvény alapértelmezett időtúllépése ezredmásodpercben (alapértelmezett: 10000 ) |
--maxConcurrency <szám> | A párhuzamos tesztek maximális száma egy tesztcsomagban (alapértelmezett: 5 ) |
--run | Figyelő mód letiltása |
--segfaultRetry <alkalmak> | A tesztcsomag újrapróbálkozása, ha szegmentálási hiba miatt összeomlik (alapértelmezett: true ) |
--no-color | Eltávolítja a színeket a konzolkimenetből |
--clearScreen | A terminál képernyőjének törlése a tesztek figyelő módban történő újrafuttatásakor (alapértelmezett: true ) |
--standalone | A Vitest indítása tesztek futtatása nélkül. A fájlszűrők figyelmen kívül lesznek hagyva, a tesztek csak változás esetén futnak (alapértelmezett: false ) |
TIP
A Vitest támogatja a camel case és a kebab case formátumot is a CLI argumentumokhoz. Például a --passWithNoTests
és a --pass-with-no-tests
is működni fog (a --no-color
és a --inspect-brk
kivételek).
A Vitest a érték megadásának különböző módjait is támogatja: a --reporter dot
és a --reporter=dot
is érvényes.
Ha az opció értékek tömbjét támogatja, akkor az opciót többször kell átadnia:
vitest --reporter=dot --reporter=default
A logikai opciók a no-
előtaggal tagadhatók. Az érték false
értékű megadása is működik:
vitest --no-api
vitest --api=false
changed
Típus:
boolean | string
Alapértelmezett: false
Csak a megváltozott fájlokon futtat teszteket. Ha nincs érték megadva, akkor a nem véglegesített változtatásokon (beleértve a staged és unstaged fájlokat) futtat teszteket.
A tesztek futtatásához az utolsó commitban végrehajtott változásokra használhatja a
--changed HEAD~1
parancsot. Átadhatja a commit hash-ét (pl.--changed 09a9920
) vagy az ág nevét (pl.--changed origin/develop
).Kódfedéssel együtt használva a jelentés csak a változásokhoz kapcsolódó fájlokat fogja tartalmazni.
Ha a
forceRerunTriggers
konfigurációs opcióval párosítva van, akkor a teljes tesztcsomag lefuttatásra kerül, ha aforceRerunTriggers
listában szereplő fájlok közül legalább egy megváltozik. Alapértelmezés szerint a Vitest konfigurációs fájljának és apackage.json
fájljának módosítása mindig újrafuttatja a teljes csomagot.
shard
Típus:
string
Alapértelmezett: letiltva
A tesztcsomag shard-ját a következő formátumban kell megadni:
<index>
/<count>
, ahol- a
count
egy pozitív egész szám, a felosztott részek száma - az
index
egy pozitív egész szám, a felosztott rész indexe
Ez a parancs az összes tesztet
count
egyenlő részre osztja, és csak azokat futtatja, amelyek azindex
részbe esnek. Például a tesztcsomag három részre osztásához használja a következőt:shvitest run --shard=1/3 vitest run --shard=2/3 vitest run --shard=3/3
- a
WARNING
Ezt az opciót nem használhatja az engedélyezett --watch
opcióval (fejlesztői módban alapértelmezés szerint engedélyezve van).