Opțiuni Jest pentru linia de comandă
Comanda jest
are mai multe opţiuni utile. Puteţi executa jest --help
pentru a vizualiza toate opţiunile disponibile. De asemenea, multe dintre opţiunile de mai jos pot fi folosite împreună, pentru a rula testele exact aşa cum doriţi. Fiecare dintre opţiunile de configurare Jest pot fi specificate, de asemenea, prin intermediul CLI.
Aici este o scurtă prezentare:
Rularea din linia de comandă
Execută toate testele (implicit):
jest
Execută doar testele care s-au specificat cu un model sau cu un nume de fişier:
jest my-test #or
jest path/to/my-test.js
Execută testele legate de fişierele modificate în hg/git (fişiere pentru care nu s-a facut commit):
jest -o
Execută testele legate de fișierele path/to/fileA.js
şi path/to/fileB.js
:
jest --findRelatedTests path/to/fileA.js path/to/fileB.js
Execută teste care se potrivesc cu acest nume (caută în textele din blocurile describe
sau test
).
jest -t name-of-spec
Execută în mod de veghe:
jest --watch #runs jest -o by default
jest --watchAll #runs all tests
Modul de veghe permite să specificaţi numele sau calea către un fișier pentru a vă concentra pe un anumit set de teste.
Using with package manager
If you run Jest via your package manager, you can still pass the command line arguments directly as Jest arguments.
Instead of:
jest -u -t="ColorPicker"
puteţi scrie:
- npm
- Yarn
- pnpm
npm test -- -u -t="ColorPicker"
yarn test -u -t="ColorPicker"
pnpm test -u -t="ColorPicker"
Camelcase & dashed args support
Jest supports both camelcase and dashed arg formats. The following examples will have an equal result:
jest --collect-coverage
jest --collectCoverage
Arguments can also be mixed:
jest --update-snapshot --detectOpenHandles
Options
CLI options take precedence over values from the Configuration.
- Camelcase & dashed args support
- Options
- Reference
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>
--injectGlobals
--json
--lastCommit
--listTests
--logHeapUsage
--maxConcurrency=<num>
--maxWorkers=<num>|<string>
--noStackTrace
--notify
--onlyChanged
--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]
--testPathPatterns=<regex>
--testRunner=<path>
--testSequencer=<path>
--testTimeout=<number>
--updateSnapshot
--useStderr
--verbose
--version
--waitNextEventLoopTurnForUnhandledRejectionEvents
--watch
--watchAll
--watchman
--workerThreads
Reference
jest <regexForTestFiles>
Când executaţi jest
cu un argument, el este tratat ca o expresie regulată pentru a căuta fișierele din proiect. Este posibilă rularea testelor prin furnizarea unui tipar. Numai fişierele care se potrivesc tiparului vor fi preluate şi executate. Depending on your terminal, you may need to quote this argument: jest "my.*(complex)?pattern"
. On Windows, you will need to use /
as a path separator or escape \` as
\`.
--bail[=<n>]
Alias: -b
. Exit the test suite immediately upon n
number of failing test suite. Defaults to 1
.
--cache
Dacă se utilizează memoria cache. Setarea implicită este true. Se poate dezactiva cache-ul folosind --no-cache
.
The cache should only be disabled if you are experiencing caching related problems. On average, disabling the cache makes Jest at least two times slower.
If you want to inspect the cache, use --showConfig
and look at the cacheDirectory
value. If you need to clear the cache, use --clearCache
.
--changedFilesWithAncestor
Runs tests related to the current changes and the changes made in the last commit. Behaves similarly to --onlyChanged
.
--changedSince
Runs tests related to the changes since the provided branch or commit hash. If the current branch has diverged from the given branch, then only changes made locally will be tested. Behaves similarly to --onlyChanged
.
--ci
Când această opţiune este folosită, Jest va presupune că se execută într-un mediu de CI. Acest lucru schimbă comportamentul atunci când un nouă imagine instantaneu este întâlnită. În locul comportamentului normal de a stoca automat un nou instantaneu, acesta va eşua testul şi va cere ca Jest să fie executat cu --updateSnapshot
.
--clearCache
Deletes the Jest cache directory and then exits without running tests. Will delete cacheDirectory
if the option is passed, or Jest's default cache directory. The default cache directory can be found by calling jest --showConfig
.
Clearing the cache will reduce performance.
--clearMocks
Automatically clear mock calls, instances, contexts and results before every test. Equivalent to calling jest.clearAllMocks()
before each test. This does not remove any mock implementation that may have been provided.
--collectCoverageFrom=<glob>
A glob pattern relative to rootDir
matching the files that coverage info needs to be collected from.
--colors
Forţează afișarea rezultatelor testelor să fie colorate chiar dacă stdout nu este un TTY.
Alternatively you can set the environment variable FORCE_COLOR=true
to forcefully enable or FORCE_COLOR=false
to disable colorized output. The use of FORCE_COLOR
overrides all other color support checks.
--config=<path>
Alias: -c
. The path to a Jest config file specifying how to find and execute tests. If no rootDir
is set in the config, the directory containing the config file is assumed to be the rootDir
for the project. Acest lucru poate fi, de asemenea, o valoare codificată JSON pe care Jest o va folosi pe post de configurare.
--coverage[=<boolean>]
Alias: --collectCoverage
. Indică faptul că informaţiile de acoperire a codului vor fi colectate și afișate. Optionally pass <boolean>
to override option set in configuration.
--coverageDirectory=<path>
The directory where Jest should output its coverage files.
--coverageProvider=<provider>
Indicates which provider should be used to instrument code for coverage. Allowed values are babel
(default) or v8
.
--debug
Print debugging info about your Jest config.
--detectOpenHandles
Attempt to collect and print open handles preventing Jest from exiting cleanly. Use this in cases where you need to use --forceExit
in order for Jest to exit to potentially track down the reason. This implies --runInBand
, making tests run serially. Implemented using async_hooks
. This option has a significant performance penalty and should only be used for debugging.
--env=<environment>
The test environment used for all tests. This can point to any file or node module. Examples: jsdom
, node
or path/to/my-environment.js
.
--errorOnDeprecated
Make calling deprecated APIs throw helpful error messages. Useful for easing the upgrade process.
--expand
Alias: -e
. Use this flag to show full diffs and errors instead of a patch.
--filter=<file>
Path to a module exporting a filtering function. This asynchronous function receives a list of test paths which can be manipulated to exclude tests from running and must return an object with shape { filtered: Array<string> }
containing the tests that should be run by Jest. Especially useful when used in conjunction with a testing infrastructure to filter known broken tests.
// This filter when applied will only run tests ending in .spec.js (not the best way to do it, but it's just an example):
const filteringFunction = testPath => testPath.endsWith('.spec.js');
module.exports = testPaths => {
const allowedPaths = testPaths.filter(filteringFunction); // ["path1.spec.js", "path2.spec.js", etc]
return {
filtered: allowedPaths,
};
};
--findRelatedTests <spaceSeparatedListOfSourceFiles>
Find and run the tests that cover a space separated list of source files that were passed in as arguments. Useful for pre-commit hook integration to run the minimal amount of tests necessary. Can be used together with --coverage
to include a test coverage for the source files, no duplicate --collectCoverageFrom
arguments needed.
--forceExit
Forţează ieșirea din Jest după ce toate testele și-au finalizat rularea. Acest lucru este util atunci când resursele setate din codul de test nu pot fi curăţate în mod adecvat.
This feature is an escape-hatch. Dacă Jest nu returnează la sfârşitul rulării unui test, înseamnă că resurse externe sunt încă în execuție sau cronometrele sunt încă în aşteptare în codul rulat. Este recomandat să curățați resursele externe, după fiecare test pentru a vă asigura că Jest își poate încheia rularea în mod curat. You can use --detectOpenHandles
to help track it down.
--help
Afișează informaţii ajutătoare, similar cu această pagină.
--ignoreProjects <project1> ... <projectN>
Ignore the tests of the specified projects. Jest uses the attribute displayName
in the configuration to identify each project. If you use this option, you should provide a displayName
to all your projects.
--injectGlobals
Insert Jest's globals (expect
, test
, describe
, beforeEach
etc.) into the global environment. If you set this to false
, you should import from @jest/globals
, e.g.
import {expect, jest, test} from '@jest/globals';
jest.useFakeTimers();
test('some test', () => {
expect(Date.now()).toBe(0);
});
This option is only supported using the default jest-circus
test runner.
--json
Prints the test results in JSON. This mode will send all other test output and user messages to stderr.