Jest CLI-alternativer
This page was AI-translated by PageTurner (beta). Not officially endorsed by the project. Found an error? Report issue →
jest-kommandolinjeverktøyet har en rekke nyttige alternativer. Du kan kjøre jest --help for å se alle tilgjengelige alternativer. Mange av alternativene nedenfor kan også brukes sammen for å kjøre tester akkurat slik du ønsker. Alle Jests konfigurasjonsalternativer kan også spesifiseres via CLI.
Her er en kort oversikt:
Kjøring fra kommandolinjen
Kjør alle tester (standard):
jest
Kjør kun tester som er spesifisert med et mønster eller filnavn:
jest my-test #or
jest path/to/my-test.js
Kjør tester relatert til endrede filer basert på hg/git (uinnsjekkede filer):
jest -o
Kjør tester relatert til path/to/fileA.js og path/to/fileB.js:
jest --findRelatedTests path/to/fileA.js path/to/fileB.js
Kjør tester som matcher dette spesifikasjonsnavnet (sammenligner med navn i describe eller test).
jest -t name-of-spec
Kjør i overvåkingsmodus:
jest --watch #runs jest -o by default
jest --watchAll #runs all tests
Overvåkingsmodus lar deg også spesifisere navnet eller stien til en fil for å fokusere på bestemte tester.
Bruk med pakkeadministrator
Hvis du kjører Jest via pakkeadministratoren din, kan du fortsatt sende kommandolinjeargumentene direkte som Jest-argumenter.
I stedet for:
jest -u -t="ColorPicker"
kan du bruke:
- npm
- Yarn
- pnpm
- Bun
npm test -- -u -t="ColorPicker"
yarn test -u -t="ColorPicker"
pnpm test -u -t="ColorPicker"
bun run test -u -t "ColorPicker"
Støtte for camelCase og bindestreksargumenter
Jest støtter både camelCase- og bindestreksargumentformater. Følgende eksempler gir samme resultat:
jest --collect-coverage
jest --collectCoverage
Argumenter kan også mikses:
jest --update-snapshot --detectOpenHandles
Alternativer
CLI-alternativer har høyere prioritet enn verdier fra konfigurasjonen.
- Støtte for camelCase og bindestreksargumenter
- Alternativer
- Referanse
jest <regexForTestFiles>--bail[=<n>]--cache--changedFilesWithAncestor--changedSince--ci--clearCache--clearMocks--collectCoverageFrom=<glob>--colors--config=<path>--coverage[=<boolean>]--coverageDirectory=<path>--coverageProvider=<provider>--debug--detectOpenHandles--env=<environment>--errorOnDeprecated--expand--filter=<file>--findRelatedTests <spaceSeparatedListOfSourceFiles>--forceExit--help--ignoreProjects <project1> ... <projectN>--init--injectGlobals--json--lastCommit--listTests--logHeapUsage--maxConcurrency=<num>--maxWorkers=<num>|<string>--noStackTrace--notify--onlyChanged--onlyFailures--openHandlesTimeout=<milliseconds>--outputFile=<filename>--passWithNoTests--projects <path1> ... <pathN>--randomize--reporters--resetMocks--restoreMocks--roots--runInBand--runTestsByPath--seed=<num>--selectProjects <project1> ... <projectN>--setupFilesAfterEnv <path1> ... <pathN>--shard--showConfig--showSeed--silent--testEnvironmentOptions=<json string>--testLocationInResults--testMatch glob1 ... globN--testNamePattern=<regex>--testPathIgnorePatterns=<regex>|[array]--testPathPattern=<regex>--testRunner=<path>--testSequencer=<path>--testTimeout=<number>--updateSnapshot--useStderr--verbose--version--watch--watchAll--watchman--workerThreads
Referanse
jest <regexForTestFiles>
Når du kjører jest med et argument, behandles argumentet som et regulært uttrykk for å matche filer i prosjektet ditt. Du kan kjøre testsuiter ved å oppgi et mønster. Kun filer som samsvarer med mønsteret vil bli kjørt. Avhengig av terminalen din må du kanskje sette argumentet i anførselstegn: jest "my.*(complex)?pattern". På Windows må du bruke / som stiskilletegn eller escape \ som \\.
--bail[=<n>]
Alias: -b. Avslutt testsuiten umiddelbart ved n antall feilende testsuiter. Standard er 1.
--cache
Angir om hurtigbuffer skal brukes. Standard er true. Deaktiver hurtigbufferen med --no-cache.
Bufferen bør kun deaktiveres hvis du opplever problemer relatert til bufring. I gjennomsnitt gjør deaktivering av bufferen Jest minst dobbelt så treg.
Hvis du vil inspisere hurtigbufferen, bruk --showConfig og se på cacheDirectory-verdien. Hvis du må tømme hurtigbufferen, bruk --clearCache.
--changedFilesWithAncestor
Kjører tester relatert til gjeldende endringer og endringer gjort i siste commit. Oppfører seg likt som --onlyChanged.
--changedSince
Kjører tester relatert til endringer siden oppgitt gren eller commit-hash. Hvis gjeldende gren har avgreget seg fra den oppgitte grenen, vil kun lokale endringer bli testet. Oppfører seg likt som --onlyChanged.
--ci
Når dette alternativet er oppgitt, vil Jest anta at det kjører i en CI-miljø. Dette endrer oppførselen når et nytt øyeblikksbilde oppdages. I stedet for å lagre et nytt øyeblikksbilde automatisk, vil testen feile og kreve at Jest kjøres med --updateSnapshot.
--clearCache
Sletter Jest-mappebufferet og avslutter uten å kjøre tester. Vil slette cacheDirectory hvis alternativet er oppgitt, eller Jests standard buffer-mappe. Standard buffer-mappe kan finnes ved å kjøre jest --showConfig.
Å tømme bufferen vil redusere ytelsen.
--clearMocks
Tømmer automatisk mock-kall, instanser, kontekster og resultater før hver test. Tilsvarer å kalle jest.clearAllMocks() før hver test. Dette fjerner ikke mock-implementasjoner som kan ha blitt satt opp.
--collectCoverageFrom=<glob>
Et glob-mønster (relativt til rootDir) som matcher filene det skal samles dekning fra.
--colors
Tvinger frem farget resultatutskrift selv om stdout ikke er en TTY.
Du kan alternativt sette miljøvariabelen FORCE_COLOR=true for å aktivere eller FORCE_COLOR=false for å deaktivere farger. FORCE_COLOR overstyrer alle andre fargekontroller.
--config=<path>
Alias: -c. Stien til en Jest-konfigurasjonsfil som spesifiserer hvordan tester skal finnes og kjøres. Hvis ingen rootDir er satt i konfigurasjonen, antas mappen som inneholder konfigurasjonsfilen å være prosjektets rootDir. Kan også være en JSON-kodet verdi som Jest vil bruke som konfigurasjon.
--coverage[=<boolean>]
Alias: --collectCoverage. Angir at testdekning skal samles og rapporteres i utdataene. Valgfri overstyring av <boolean> til konfigurasjonsinnstillinger.
--coverageDirectory=<path>
Mappen der Jest skal lagre dekningsrapporter.
--coverageProvider=<provider>
Angir hvilken leverandør som skal brukes for kodeinstrumentering. Tillatte verdier er babel (standard) eller v8.
--debug
Skriver ut feilsøkingsinformasjon om Jest-konfigurasjonen din.
--detectOpenHandles
Forsøker å oppdage og rapportere åpne referanser som hindrer Jest i å avslutte rent. Bruk dette når du må bruke --forceExit for å finne årsaken. Dette kjører tester sekvensielt (--runInBand). Implementert med async_hooks. Gir betydelig ytelsestap - kun for feilsøking.
--env=<environment>
Testmiljøet som brukes for alle tester. Kan peke til hvilken som helst fil eller node-modul. Eksempler: jsdom, node eller path/to/my-environment.js.
--errorOnDeprecated
Gjør at kall til utdaterte APIer kaster hjelpsomme feilmeldinger. Nyttig for å lette oppgraderingsprosessen.
--expand
Alias: -e. Viser komplette diff-er og feil i stedet for korte oppsummeringer.
--filter=<file>
Sti til en modul som eksporterer en filterfunksjon. Denne asynkrone funksjonen mottar en liste med teststier som kan manipuleres for å ekskludere tester fra kjøring ved å returnere et objekt med formatet { filtered: Array<{ test: string }> }. Spesielt nyttig i kombinasjon med testinfrastruktur for å filtrere kjente defekte tester, f.eks.
module.exports = testPaths => {
const allowedPaths = testPaths
.filter(filteringFunction)
.map(test => ({test})); // [{ test: "path1.spec.js" }, { test: "path2.spec.js" }, etc]
return {
filtered: allowedPaths,
};
};
--findRelatedTests <spaceSeparatedListOfSourceFiles>
Finner og kjører tester som dekker en mellomromsseparert liste med kildefiler. Nyttig for pre-commit-hooks for å kjøre minimalt med nødvendige tester. Kan kombineres med --coverage for inkludering av testdekning uten duplikate --collectCoverageFrom-argumenter.
--forceExit
Tving Jest til å avslutte etter at alle testene er fullført. Dette er nyttig når ressurser som er satt opp av testkoden ikke kan ryddes opp skikkelig.
Denne funksjonen er en nødløsning. Hvis Jest ikke avslutter etter testkjøringen, betyr det at eksterne ressurser fortsatt holdes åpne eller timer fortsatt venter i koden din. Det anbefales å rydde opp eksterne ressurser etter hver test for å sikre at Jest kan avslutte skikkelig. Du kan bruke --detectOpenHandles for å hjelpe til med å spore opp problemet.
--help
Viser hjelpeinformasjonen, tilsvarende denne siden.
--ignoreProjects <project1> ... <projectN>
Ignorer testene for spesifiserte prosjekter. Jest bruker attributtet displayName i konfigurasjonen for å identifisere hvert prosjekt. Hvis du bruker dette alternativet, bør du tilordne en displayName til alle prosjektene dine.
--init
Genererer en grunnleggende konfigurasjonsfil. Basert på prosjektet ditt vil Jest stille deg noen spørsmål som hjelper til med å generere en jest.config.js-fil med en kort beskrivelse for hvert alternativ.
--injectGlobals
Setter Jest sine globale variabler (expect, test, describe, beforeEach osv.) inn i det globale miljøet. Hvis du setter dette til false, må du importere fra @jest/globals, f.eks.
import {expect, jest, test} from '@jest/globals';
jest.useFakeTimers();
test('some test', () => {
expect(Date.now()).toBe(0);
});
Dette alternativet støttes kun med standard testrunner jest-circus.
--json
Skriver ut testresultatene i JSON-format. Denne modusen sender all annen testutdata og brukermeldinger til stderr.
--lastCommit
Kjør alle tester som er påvirket av filendringer i siste commit. Oppfører seg likt som --onlyChanged.
--listTests
Lister alle testfiler som Jest vil kjøre basert på argumentene, og avslutter deretter.
--logHeapUsage
Logger heap-bruken etter hver test. Nyttig for å feilsøke minnelekkasjer. Bruk sammen med --runInBand og --expose-gc i Node.
--maxConcurrency=<num>
Forhindrer Jest i å kjøre flere enn angitt antall tester samtidig. Påvirker kun tester som bruker test.concurrent.
--maxWorkers=<num>|<string>
Alias: -w. Angir maksimalt antall arbeidere som worker-poolen vil starte for testkjøring. I enkeltkjøringsmodus er standardverdien antall kjerner på maskinen din minus én for hovedtråden. I watch-modus er standardverdien halvparten av tilgjengelige kjerner for å sikre at Jest ikke belaster systemet for mye. Dette kan være nyttig å justere i ressursbegrensede miljøer som CI, men standardinnstillingene bør være tilstrekkelige for de fleste bruksområder.
For miljøer med variabel CPU-kapasitet kan du bruke prosentbasert konfigurasjon: --maxWorkers=50%
--noStackTrace
Deaktiverer stack-spor i testresultatutdataene.
--notify
Aktiverer varslinger for testresultater. Nyttig når du ikke vil at bevisstheten din skal kunne fokusere på noe annet enn JavaScript-testing.
--onlyChanged
Alias: -o. Prøver å identifisere hvilke tester som skal kjøres basert på endrede filer i gjeldende repository. Fungerer kun i git/hg-repositorier og krever en statisk avhengighetsgraf (uten dynamiske requires).
--onlyFailures
Alias: -f. Kjører tester som feilet i forrige kjøring.
--openHandlesTimeout=<milliseconds>
Når --detectOpenHandles og --forceExit er deaktivert, vil Jest skrive ut en advarsel hvis prosessen ikke har avsluttet ryddig etter dette antallet millisekunder. En verdi på 0 deaktiverer advarselen. Standardverdi er 1000.
--outputFile=<filename>
Skriver testresultater til en fil når --json-alternativet også er spesifisert. Den returnerte JSON-strukturen er dokumentert i testResultsProcessor.
--passWithNoTests
Tillater at testsuiten består selv om ingen filer blir funnet.
--projects <path1> ... <pathN>
Kjør tester fra en eller flere prosjekter, funnet i angitte baner; støtter også baneglober. Dette alternativet er CLI-ekvivalenten til projects-konfigurasjonsvalget.
Hvis konfigurasjonsfiler blir funnet i de angitte banene, vil alle prosjekter spesifisert i disse konfigurasjonsfilene bli kjørt.
--randomize
Stokker rekkefølgen av testene i en fil. Stokkingen baseres på seed-verdien. Se --seed=<num> for mer info.
Seed-verdien vises når dette alternativet er aktivert. Tilsvarer å sette CLI-alternativet --showSeed.
jest --randomize --seed 1234
Dette alternativet støttes kun med standard testrunner jest-circus.
--reporters
Kjør tester med angitte rapporteringsmoduler. Rapporteringsalternativer er ikke tilgjengelige via CLI. Eksempel med flere rapporteringsmoduler:
jest --reporters="default" --reporters="jest-junit"
--resetMocks
Tilbakestiller automatisk mocktilstand før hver test. Tilsvarer å kalle jest.resetAllMocks() før hver test. Dette vil føre til at alle mocks fjerner sine falske implementeringer, men gjenoppretter ikke deres opprinnelige implementering.
--restoreMocks
Gjenopprett automatisk mock-tilstand og implementering før hver test. Tilsvarer å kalle jest.restoreAllMocks() før hver test. Dette fjerner falske implementeringer fra alle mocks og gjenoppretter deres opprinnelige oppførsel.
--roots
En liste over baner til kataloger som Jest skal søke etter filer i.
--runInBand
Alias: -i. Kjør alle tester sekvensielt i gjeldende prosess, i stedet for å opprette en arbeiderpool med barprosesser som kjører tester. Dette kan være nyttig ved feilsøking.
--runTestsByPath
Kjør kun tester som er spesifisert med eksakte baner. Dette unngår å konvertere dem til regulære uttrykk og matche dem mot hver enkelt fil.
For eksempel, med følgende filstruktur:
__tests__
└── t1.test.js # test
└── t2.test.js # test
Når kjørt med et mønster, blir ingen test funnet:
jest --runTestsByPath __tests__/t
Utdata:
No tests found
Men ved å oppgi en eksakt bane blir kun den angitte testen kjørt:
jest --runTestsByPath __tests__/t1.test.js
Utdata:
PASS __tests__/t1.test.js
Standard regex-matching fungerer fint for små kjøringer, men blir treg med flere mønstre og/eller mange tester. Dette alternativet erstatter regex-matching og optimaliserer tiden Jest bruker på å filtrere spesifikke testfiler.
--seed=<num>
Setter en seed-verdi som kan hentes i en testfil via jest.getSeed(). Seed-verdien må være mellom -0x80000000 og 0x7fffffff inklusive (-2147483648 (-(2 ** 31)) og 2147483647 (2 ** 31 - 1) i desimaltall).
jest --seed=1324
Hvis denne opsjonen ikke er spesifisert, genererer Jest verdien tilfeldig. Du kan bruke flagget --showSeed for å skrive ut seed-verdien i testrapportens sammendrag.
Jest bruker seed-verdien internt for å stokke rekkefølgen testgrupper kjøres i. Hvis opsjonen --randomize brukes, brukes seed-verdien også til å stokke rekkefølgen på testene innen hver describe-blokk. Ved flaky-tester kan ny kjøring med samme seed-verdi hjelpe til med å reprodusere feilen.
--selectProjects <project1> ... <projectN>
Kjør testene for spesifiserte prosjekter. Jest bruker displayName-attributtet i konfigurasjonen til å identifisere hvert prosjekt. Ved bruk av denne opsjonen bør du angi displayName for alle prosjektene dine.
--setupFilesAfterEnv <path1> ... <pathN>
En liste med stier til moduler som kjører kode for å konfigurere eller sette opp testrammeverket før hver test. Merk at filer importert av oppsettskriptene ikke blir mocket under testing.
--shard
Testgruppen som skal kjøres, angitt i formatet (?<shardIndex>\d+)/(?<shardCount>\d+).
shardIndex angir hvilken shard som skal velges, mens shardCount bestemmer antall shards testgruppen skal deles inn i.
shardIndex og shardCount må være positive tall fra 1 og oppover, og shardIndex må være mindre enn eller lik shardCount.
Når shard er angitt, må den konfigurerte testSequencer implementere en shard-metode.
For eksempel, for å dele testgruppen i tre shards der hver kjører en tredjedel av testene:
jest --shard=1/3
jest --shard=2/3
jest --shard=3/3
--showConfig
Skriver ut Jest-konfigurasjonen din og avslutter.
--showSeed
Skriver ut seed-verdien i testrapportens sammendrag. Se --seed=<num> for detaljer.
Kan også angis i konfigurasjonen. Se showSeed.
--silent
Forhindrer tester i å skrive ut meldinger via konsollen.
--testEnvironmentOptions=<json string>
En JSON-streng med alternativer som vil bli sendt til testEnvironment. De relevante alternativene avhenger av miljøet.
--testLocationInResults
Legger til et location-felt i testresultatene. Nyttig hvis du ønsker å rapportere plasseringen av en test i en reporter.
I det resulterende objektet er column 0-indeksert mens line ikke er det.
{
"column": 4,
"line": 5
}
--testMatch glob1 ... globN
Glob-mønstrene Jest bruker for å oppdage testfiler. Vennligst se testMatch-konfigurasjonen for detaljer.
--testNamePattern=<regex>
Alias: -t. Kjør bare tester med et navn som samsvarer med regex-mønsteret. For eksempel, hvis du vil kjøre tester relatert til autentisering som har navn som 'GET /api/posts with auth', kan du bruke jest -t=auth.
Regex-mønsteret sammenlignes med det fulle navnet, som er en kombinasjon av testnavnet og alle beskrivende blokker som omgir det.
--testPathIgnorePatterns=<regex>|[array]
Et enkelt eller en array av regex-mønsterstrenger som testes mot alle teststier før testkjøring. I motsetning til --testPathPattern vil den kun kjøre tester hvis stien ikke samsvarer med de oppgitte regex-uttrykkene.
For å angi som en liste: bruk ekstra parenteser og mellomrom for å skille regex-mønstre, f.eks. \(/node_modules/ /tests/e2e/\). Alternativt kan du kombinere til et enkelt regex som /node_modules/|/tests/e2e/. Disse eksemplene gir samme resultat.
--testPathPattern=<regex>
Regex-mønster som sammenlignes med alle teststier før testkjøring. På Windows må du bruke / som stiskilletegn eller skrive \ som \\.
--testRunner=<path>
Lar deg spesifisere en egendefinert testkjøringsmotor.
--testSequencer=<path>
Lar deg spesifisere en egendefinert testsekvenser. Se detaljer i testSequencer-konfigurasjonen.
--testTimeout=<number>
Standard timeout for en test i millisekunder. Standardverdi: 5000.
--updateSnapshot
Alias: -u. Bruk dette flagget for å ta nye snapshots for alle snapshots som feiler under testkjøringen. Kan kombineres med testmønster eller --testNamePattern.
--useStderr
Sender all utdata til stderr.
--verbose
Viser individuelle testresultater med hierarkiet til testsuiten.
--version
Alias: -v. Skriver ut versjonsnummeret og avslutter.
--watch
Overvåker filendringer og kjører tester relatert til endrede filer på nytt. Hvis du vil kjøre alle tester ved filendring, bruk --watchAll.
Bruk --no-watch (eller --watch=false) for å eksplisitt deaktivere overvåkingsmodus hvis den ble aktivert ved hjelp av --watch. I de fleste CI-miljøer håndteres dette automatisk.
--watchAll
Overvåker filendringer og kjører alle tester på nytt ved endringer. Hvis du bare vil re-kjøre tester som avhenger av endrede filer, bruk --watch.
Bruk --no-watchAll (eller --watchAll=false) for å eksplisitt deaktivere overvåkingsmodus hvis den ble aktivert med --watchAll. I de fleste CI-miljøer håndteres dette automatisk.
--watchman
Angir om watchman skal brukes for filkryping. Standardverdi er true. Deaktiver med --no-watchman.
--workerThreads
Angir om worker threads skal brukes for parallellisering. Child processes brukes som standard.
Dette er en eksperimentell funksjon. Se konfigurasjonsvalget workerThreads for detaljer.