Hopp til hovedinnhold
Versjon: 29.7

Jest CLI-alternativer

Unofficial Beta Translation

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

notat

CLI-alternativer har høyere prioritet enn verdier fra konfigurasjonen.


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.

advarsel

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.

advarsel

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

notat

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.

my-filter.js
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.

advarsel

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);
});
notat

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.

notat

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
notat

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
tips

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
tips

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.

notat

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.

tips

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.

tips

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.

advarsel

Dette er en eksperimentell funksjon. Se konfigurasjonsvalget workerThreads for detaljer.