Aller au contenu principal
Version: 26.x

Options de Jest CLI

L'interpréteur en ligne de commande de jest a de nombreuses options utiles. Vous pouvez entrer jest --help pour voir toutes les options disponibles. Parmi les options ci-dessous, beaucoup peuvent être utilisées pour exécuter les tests de la façon dont vous voulez. Chacune des options de Configuration de Jest peut également être définie via l'interface CLI.

Voici un bref aperçu :

Exécution en ligne de commande#

Exécute tous les tests (par défaut):

jest

Exécute seulement les tests identifiés par une expression régulière ou un nom de fichier :

jest my-test #or
jest path/to/my-test.js

Exécute des tests relatifs à des changements hg/git (fichiers non commités):

jest -o

Exécute des tests relatifs à path/to/fileA.js et path/to/fileB.js :

jest --findRelatedTests path/to/fileA.js path/to/fileB.js

Run tests that match this spec name (match against the name in describe or test, basically).

jest -t name-of-spec

Exécuter en mode "watch" (rafraichissement automatique) :

jest --watch #runs jest -o by default
jest --watchAll #runs all tests

Le mode "watch" permet aussi de spécifier le nom ou le chemin d'un fichier en particulier, pour se concentrer sur un ensemble spécifique de tests.

Using with yarn#

Si vous lancez Jest via yarn test, vous pouvez directement passer les paramètres de la ligne de commande en tant que paramètres Jest.

Au lieu de :

jest -u -t="ColorPicker"

vous pouvez utiliser :

yarn test -u -t="ColorPicker"

Utilisation avec les scripts npm#

Si vous lancez Jest avec npm test, vous pouvez toujours utiliser les paramètres dans la ligne de commande en insérant -- entre npm test et les paramètres Jest.

Au lieu de :

jest -u -t="ColorPicker"

vous pouvez utiliser :

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

Note: CLI options take precedence over values from the Configuration.


Référence#

jest <regexForTestFiles>#

Quand vous exécutez jest avec un argument, cet argument est traité comme une expression régulière servant à filtrer les fichiers de votre projet. Il est possible d'exécuter des suites de test en fournissant un modèle. Seuls les fichiers correspondants au modèle seront exécutés. 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#

Alias: -b. Exit the test suite immediately upon n number of failing test suite. Defaults to 1.

--cache#

Utilisation du cache. Valeur par défaut: true. Désactiver le cache à l'aide de --no-cache. Remarque: le cache doit être uniquement désactivé si vous rencontrez des problèmes de mise en cache. En moyenne, la désactivation du cache rend Jest au moins deux fois plus lent.

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#

Quand cette option est passée, Jest considérera qu'il est exécuté dans un environnement de CI. Cela modifie le comportement lorsqu'un nouveau snapshot est rencontré. A la place de stocker le nouveau snapshot automatiquement, le test échouera et il sera nécessaire d'exécuter jest avec l'option --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. Note: clearing the cache will reduce performance.

--collectCoverageFrom=<glob>#

A glob pattern relative to rootDir matching the files that coverage info needs to be collected from.

--colors#

Force la coloration des résultats de tests même si la sortie standard n'est pas un terminal.

--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. Ce paramètre accepte aussi une valeur encodée en JSON que Jest utilisera comme configuration.

--coverage[=<boolean>]#

Alias: --collectCoverage. Indique que les informations de couverture de code doivent être recueillies et affichées dans la sortie du terminal. Optionally pass <boolean> to override option set in configuration.

--coverageProvider=<provider>#

Indicates which provider should be used to instrument code for coverage. Allowed values are babel (default) or v8.

Note that using v8 is considered experimental. This uses V8's builtin code coverage rather than one based on Babel. It is not as well tested, and it has also improved in the last few releases of Node. Using the latest versions of node (v14 at the time of this writing) will yield better results.

--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 method receives a list of tests which can be manipulated to exclude tests from running. Especially useful when used in conjunction with a testing infrastructure to filter known broken.

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

Force Jest à s'arrêter une fois que tous les tests ont fini de s'exécuter. C'est utile lorsque des ressources sont allouées par le code des test et qu'elles ne peuvent pas être nettoyées correctement. Remarque: Cette fonctionnalité est un raccourci pour quitter le processus. Si Jest ne s'arrête pas à la fin d'une série de tests, cela signifie que des ressources externes sont toujours allouées ou que des minuteurs sont toujours en attente de se terminer dans votre code. Il est conseillé de détruire les ressources externes après chaque test pour s'assurer que Jest peut s'arrêter correctement. You can use --detectOpenHandles to help track it down.

--help#

Afficher l'aide, similaire à cette page.

--init#

Generate a basic configuration file. Based on your project, Jest will ask you a few questions that will help to generate a jest.config.js file with a short description for each option.

--injectGlobals#

Insére les globales de Jest (expect, test, describe, beforeEach etc.) dans l'environnement global. Si vous définissez cette valeur à false, vous devez par exemple importer à partir de @jest/globals.

import {expect, jest, test} from '@jest/globals';
jest.useFakeTimers();
test('some test', () => {
expect(Date.now()).toBe(0);
});

Remarque : cette option est uniquement prise en charge par jest-circus.

--json#

Prints the test results in JSON. This mode will send all other test output and user messages to stderr.

--outputFile=<filename>#

Écrit les résultats des tests dans un fichier lorsque l'option --json est aussi passée. The returned JSON structure is documented in testResultsProcessor.

--lastCommit#

Run all tests affected by file changes in the last commit made. Behaves similarly to --onlyChanged.

--listTests#

Lists all tests as JSON that Jest will run given the arguments, and exits. This can be used together with --findRelatedTests to know which tests Jest will run.

--logHeapUsage#

Logs the heap usage after every test. Useful to debug memory leaks. Use together with --runInBand and --expose-gc in node.

--maxConcurrency=<num>#

Prevents Jest from executing more than the specified amount of tests at the same time. Only affects tests that use test.concurrent.

--maxWorkers=<num>|<string>#

Alias: -w. Spécifie le maximum de processus que l'orchestrateur de processus lancera pour exécuter les tests. In single run mode, this defaults to the number of the cores available on your machine minus one for the main thread. In watch mode, this defaults to half of the available cores on your machine to ensure Jest is unobtrusive and does not grind your machine to a halt. It may be useful to adjust this in resource limited environments like CIs but the defaults should be adequate for most use-cases.

For environments with variable CPUs available, you can use percentage based configuration: --maxWorkers=50%

--noStackTrace#

Désactive le suivi de la pile d'exécution dans les résultats des tests.

--notify#

Activates notifications for test results. Good for when you don't want your consciousness to be able to focus on anything except JavaScript testing.

--onlyChanged#

Alias: -o. Tente d’identifier quels tests doivent être exécutés en fonction des fichiers changés dans le dépôt actuel. Only works if you're running tests in a git/hg repository at the moment and requires a static dependency graph (ie. no dynamic requires).

--passWithNoTests#

Allows the test suite to pass when no files are found.

--projects <path1> ... <pathN>#

Run tests from one or more projects, found in the specified paths; also takes path globs. This option is the CLI equivalent of the projects configuration option. Note that if configuration files are found in the specified paths, all projects specified within those configuration files will be run.

--reporters#

Run tests with specified reporters. Reporter options are not available via CLI. Example with multiple reporters:

jest --reporters="default" --reporters="jest-junit"

--roots#

A list of paths to directories that Jest should use to search for files in.

--runInBand#

Alias: -i. Run all tests serially in the current process, rather than creating a worker pool of child processes that run tests. This can be useful for debugging.

--selectProjects <project1> ... <projectN>#

Run only 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.

--runTestsByPath#

Run only the tests that were specified with their exact paths.

Note: The default regex matching works fine on small runs, but becomes slow if provided with multiple patterns and/or against a lot of tests. This option replaces the regex matching logic and by that optimizes the time it takes Jest to filter specific test files

--setupTestFrameworkScriptFile=<file>#

The path to a module that runs some code to configure or set up the testing framework before each test. Beware that files imported by the setup script will not be mocked during testing.

--showConfig#

Affiche votre configuration Jest et quitte.

--silent#

Empêcher les tests d'afficher des messages dans la console.

--testNamePattern=<regex>#

Alias: -t. Run only tests with a name that matches the regex. For example, suppose you want to run only tests related to authorization which will have names like "GET /api/posts with auth", then you can use jest -t=auth.

Note: The regex is matched against the full name, which is a combination of the test name and all its surrounding describe blocks.

--testLocationInResults#

Adds a location field to test results. Useful if you want to report the location of a test in a reporter.

Note that column is 0-indexed while line is not.

{
"column": 4,
"line": 5
}

--testPathPattern=<regex>#

Une Regexp qui sera comparée avec le chemin d'accès de chaque fichier de test. On Windows, you will need to use / as a path separator or escape \` as\`.

--testPathIgnorePatterns=<regex>|[array]#

A single or array of regexp pattern strings that are tested against all tests paths before executing the test. Contrary to --testPathPattern, it will only run those tests with a path that does not match with the provided regexp expressions.

To pass as an array use escaped parentheses and space delimited regexps such as \(/node_modules/ /tests/e2e/\). Alternatively, you can omit parentheses by combining regexps into a single regexp like /node_modules/|/tests/e2e/. These two examples are equivalent.

--testRunner=<path>#

Vous permet de spécifier un lanceur de test personnalisé.

--testSequencer=<path>#

Lets you specify a custom test sequencer. Please refer to the documentation of the corresponding configuration property for details.

--testTimeout=<number>#

Default timeout of a test in milliseconds. Default value: 5000.

--updateSnapshot#

Alias: -u. Utiliser cette option pour ré-enregister chaque snapshot qui échoue durant les tests. Peut être utilisé avec un modèle de suite de test ou avec l'option --testNamePattern pour ré-enregistrer les snapshots.

--useStderr#

Dirige toutes les sorties vers stderr.

--verbose#

Afficher les résultats de chaque test avec la hiérarchie de la suite de test.

--version#

Alias: -v. Print the version and exit.

--watch#

Watch files for changes and rerun tests related to changed files. If you want to re-run all tests when a file has changed, use the --watchAll option instead.

--watchAll#

Watch files for changes and rerun all tests when something changes. If you want to re-run only the tests that depend on the changed files, use the --watch option.

Use --watchAll=false to explicitly disable the watch mode. Note that in most CI environments, this is automatically handled for you.

--watchman#

Whether to use watchman for file crawling. Defaults to true. Disable using --no-watchman.