Skip to main content
Version: Next

Opciones del CLI de Jest

El interprete de línea de comandos de jest tiene varias opciones útiles. Puede ejecutar jest --help para ver todas las opciones disponibles. Muchas de las opciones que se muestran a continuación se pueden utilizar también de forma conjunta para ejecutar las pruebas exactamente de la manera que desea. Cada una de las opciones de la configuración de Jest puede especificarse también a través de la linea de comandos.

A continuación se muestra un breve resumen:

Ejecución desde la línea de comandos

Ejecuta todas las pruebas (por defecto):

jest

Ejecuta sólo las pruebas que se especificaron con un patrón o un nombre de archivo:

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

Ejecuta las pruebas relacionadas con los archivos modificados basados en hg/git (archivos no confirmados):

jest -o

Ejecuta las pruebas relacionadas con path/to/fileA.js y path/to/fileB.js:

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

Ejecuta pruebas que coincidan con el nombre especificado (coinciden con el nombre en el describe o test).

jest -t name-of-spec

Ejecuta el modo "en la mira":

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

El modo "en la mira" también permite especificar el nombre o la ruta de un archivo para centrarse en un conjunto específico de pruebas.

Using with package manager

If you run Jest via your package manager, you can still pass the command line arguments directly as Jest arguments.

En vez de:

jest -u -t="ColorPicker"

puedes usar:

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

Opciones

note

CLI options take precedence over values from the Configuration.


Referencia

jest <regexForTestFiles>

Cuando corres jest con un argument, ese argumento es tratado como una expresión regular para coincidir con los archivos de tu proyecto. Es posible correr suits de pruebas proveyendo un patrón. Solo los archivos que coinciden con el patrón serán seleccionados y ejecutados. Dependiendo de la terminal utilizada, es posible que tenga que colocar este argumento entre comillas: jest "my.*(complex)?pattern". On Windows, you will need to use / as a path separator or escape `` as \.

--bail[=<n>]

Alias: -b. Sale de la suite de pruebas inmediatamente después de n número de suites de prueba fallidas. Por defecto 1.

--cache

Si deseas usar la caché. Por defecto es verdadero. Desactiva la caché usando --no-cache.

caution

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. Se comporta de manera similar a --onlyChanged.

--changedSince

Ejecuta las pruebas relacionadas con los cambios desde la rama o el hash del commit proporcionado. If the current branch has diverged from the given branch, then only changes made locally will be tested. Se comporta de manera similar a --onlyChanged.

--ci

Cuando se activa esta opcion Jest asume que se esta corriendo en un entorno de Integración Continua CI. Esto cambia el comportamiento cuando se encuentra un nuevo snapshot. En lugar de guardar el nuevo snapshot automáticamente, como lo hace normalmente, Jest fallará la prueba y requerirá que se ejecute nuevamente con la opción --updateSnapshot.

--clearCache

Borra el directorio caché de Jest y se sale sin ejecutar pruebas. 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.

caution

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>

Resultados forzados de pruebas se muestran resaltados incluso si stdout no es un TTY.

--colors

Resultados forzados de pruebas se muestran resaltados incluso si stdout no es un TTY.

note

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. Si el directorio raíz rootDir no esta definido en la configuración, Jest asume que el directorio actual es el directorio raíz rootDir para el proyecto. Esto también puede ser un valor codificado en JSON que Jest usará como configuración.

--coverage[=<boolean>]

Alias: --collectCoverage. Indica que información de cobertura de prueba debería ser recolectada y registrada en la salida. Opcionalmente recibe un booleano <boolean> para anular la opción de la configuración.

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

Imprime información de debugging sobre su configuración de Jest.

--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. Implementado usando hooks asíncronos async_hooks. This option has a significant performance penalty and should only be used for debugging.

--env=<environment>

El entorno de prueba usado por todos los tests. Este puede ser el punto para cualquier archivo o módulo node. Ejemplos: jsdom, node o ruta/a/mi-entorno.js.

--errorOnDeprecated

Make calling deprecated APIs throw helpful error messages. Useful for easing the upgrade process.

--expand

Alias: -e. Usa esta opción para mostrar todas las diferencias y errores en vez de un parche.

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

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

Fuerza a Jest a salir después de que todos las pruebas completen su ejecución. Esto es útil cuando los recursos asignados por el código de la prueba no pueden ser adecuadamente limpiados.

caution

Esta característica es un atajo. Si Jest no termina de ejecutar al final de la corrida de pruebas, quiere decir que hay recursos externos que todavía están siendo retenidos. Se aconseja liberar los recursos externos después de cada prueba para asegurar que Jest pueda cerrarse apropiadamente. Puede usar --detectOpenHandles para ayudarle a rastrearlo.

--help

Muestra la información de ayuda, similar a esta página.

--ignoreProjects <project1> ... <projectN>

Ignore the tests of the specified projects. Jest utiliza el atributo displayName en la configuración para identificar cada proyecto. Si usas esta opción, debes proporcionar un displayName a todos tus proyectos.

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

importar {expect, jest, test} desde '@jest/globals';

jest.useFakeTimers();

test('some test', () => {
expect(Date.now()).toBe(0);
});
note

This option is only supported using the default jest-circus test runner.

--json

Imprime los resultados de las pruebas en JSON. Este modo enviará todos las otras salidas de la prueba y mensajes de usuario al stderr.

--lastCommit

Run all tests affected by file changes in the last commit made. Se comporta de manera similar a --onlyChanged.

--listTests

Lists all test files that Jest will run given the arguments, and exits.

--logHeapUsage

Registra el uso de la pila despues de cada test. Útil para depurar perdidas de memoria. Úselo junto con --runInBand y --expose-gc en node.

--maxConcurrency=<num>

Indica el límite de pruebas concurrentes que Jest puede ejecutar. Solo afecta a los test que utilizan test.concurrent.

--maxWorkers=<num>|<string>

Alias: -w. Especifica el número máximo de trabajadores que el pool de trabajadores creará para correr las pruebas. 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

Desactiva el stack trace de la salida de los resultados de las pruebas.

--notify

Activates notifications for test results. Es bueno para cuando no quieres que tu conciencia pueda concentrarse en nada más que pruebas de JavaScript.

--onlyChanged

Alias: -o. Intenta identificar qué pruebas debe correr de base de qué archivos cambiados del repositorio actual. Sólo funciona si está ejecutando las pruebas en un repositorio de git/hg en el momento y requiere un grafo de dependencia estática (es decir, no requiere dinámica).

--openHandlesTimeout=<milliseconds>

When --detectOpenHandles and --forceExit are disabled, Jest will print a warning if the process has not exited cleanly after this number of milliseconds. A value of 0 disables the warning. Defaults to 1000.

--outputFile=<filename>

Escribe los resultados de las pruebas en un archivo cuando la opción --json es también especificada. The returned JSON structure is documented in testResultsProcessor.

--passWithNoTests

Permite al suite de pruebas pasar cuando no se consigan archivos.

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

If configuration files are found in the specified paths, all projects specified within those configuration files will be run.

--randomize

Shuffle the order of the tests within a file. The shuffling is based on the seed. See --seed=<num> for more info.

Seed value is displayed when this option is set. Equivalent to setting the CLI option --showSeed.

jest --randomize --seed 1234
note

This option is only supported using the default jest-circus test runner.

--reporters

Ejecutar pruebas con herramientas de reporte especificadas. Las opciones de herramientas de reporte no están disponibles a través de la línea de comandos. Ejemplo con diferentes herramientas para reporte:

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

--resetMocks

Automatically reset mock state before every test. Equivalent to calling jest.resetAllMocks() before each test. This will lead to any mocks having their fake implementations removed but does not restore their initial implementation.

--restoreMocks

Automatically restore mock state and implementation before every test. Equivalent to calling jest.restoreAllMocks() before each test. This will lead to any mocks having their fake implementations removed and restores their initial implementation.

--roots

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

--runInBand

Alias: -i. Ejecuta todas las pruebas en serie en el proceso actual, en lugar de crear un grupo de trabajadores de procesos hijo para ejecutar pruebas. Esto puede ser útil para la depuración.

--runTestsByPath

Run only the tests that were specified with their exact paths. This avoids converting them into a regular expression and matching it against every single file.

For example, given the following file structure:

__tests__
└── t1.test.js # test
└── t2.test.js # test

When ran with a pattern, no test is found:

jest --runTestsByPath __tests__/t

Output:

No tests found

However, passing an exact path will execute only the given test:

jest --runTestsByPath __tests__/t1.test.js

Output:

PASS __tests__/t1.test.js
tip

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.

--seed=<num>

Sets a seed value that can be retrieved in a test file via jest.getSeed(). The seed value must be between -0x80000000 and 0x7fffffff inclusive (-2147483648 (-(2 ** 31)) and 2147483647 (2 ** 31 - 1) in decimal).

jest --seed=1324
tip

If this option is not specified Jest will randomly generate the value. You can use the --showSeed flag to print the seed in the test report summary.

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

Run the tests of the specified projects. Jest utiliza el atributo displayName en la configuración para identificar cada proyecto. Si usas esta opción, debes proporcionar un displayName a todos tus proyectos.

--setupFilesAfterEnv <path1> ... <pathN>

A list of paths to modules that run some code to configure or to set up the testing framework before each test. Beware that files imported by the setup scripts will not be mocked during testing.

--shard

The test suite shard to execute in a format of (?<shardIndex>\d+)/(?<shardCount>\d+).

shardIndex describes which shard to select while shardCount controls the number of shards the suite should be split into.

shardIndex and shardCount have to be 1-based, positive numbers, and shardIndex has to be lower than or equal to shardCount.

When shard is specified the configured testSequencer has to implement a shard method.

For example, to split the suite into three shards, each running one third of the tests:

jest --shard=1/3
jest --shard=2/3
jest --shard=3/3

--showConfig

Previene a las pruebas de imprimir mensajes a través de la consola.

--showSeed

Prints the seed value in the test report summary. See --seed=<num> for the details.

Can also be set in configuration. See showSeed.

--silent

Previene a las pruebas de imprimir mensajes a través de la consola.

--testEnvironmentOptions=<json string>

A JSON string with options that will be passed to the testEnvironment. The relevant options depend on the environment.

--testLocationInResults

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

note

In the resulting object column is 0-indexed while line is not.

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

--testMatch glob1 ... globN

The glob patterns Jest uses to detect test files. Please refer to the testMatch configuration for details.

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

tip

La expresión regular se compara con el nombre completo, que es una combinación del nombre de la prueba y todos los bloques de descripción que lo rodean.

--testPathIgnorePatterns=<regex>|[array]

A single or array of regexp pattern strings that are tested against all tests paths before executing the test. Contrary to --testPathPatterns, 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.

--testPathPatterns=<regex>

Una expresión regular que coincide con todas las rutas de las pruebas antes de ejecutar la prueba. On Windows, you will need to use / as a path separator or escape `` as \.

--testRunner=<ruta>

Te permite especificar un corredor de prueba personalizado.

--testSequencer=<path>

Permite especificar un secuenciador de test personalizado. Please refer to the testSequencer configuration for details.

--testTimeout=<number>

Default timeout of a test in milliseconds. Valor predeterminado: 5000.

--updateSnapshot

Alias: -u. Utiliza esta bandera para volver a grabar cada instantánea que falla durante esta prueba. Puede utilizarse conjuntamente con un patrón de prueba de la suite o con --testNamePattern para volver a grabar instantáneas.

--useStderr

Muestra los resultados de la prueba individual con la jerarquía de la suite de prueba.

--verbose

Muestra los resultados de la prueba individual con la jerarquía de la suite de prueba.

--version

Alias: -v. Imprime la versión y finaliza.

--waitNextEventLoopTurnForUnhandledRejectionEvents

Gives one event loop turn to handle rejectionHandled, uncaughtException or unhandledRejection.

Without this flag Jest may report false-positive errors (e.g. actually handled rejection reported) or not report actually unhandled rejection (or report it for different test case).

This option may add a noticeable overhead for fast test suites.

--watch

Vigilar archivos para los cambios y volver a ejecutar pruebas relacionadas con los archivos modificados. Si quieres volver a ejecutar todas las pruebas cuando un archivo ha cambiado, utiliza la opción --watchAll en su lugar.

tip

Use --no-watch (or --watch=false) to explicitly disable the watch mode if it was enabled using --watch. In most CI environments, this is automatically handled for you.

--watchAll

Vigila los archivos para los cambios y ejecuta todas las pruebas cuando algo cambia. Si deseas volver a ejecutar sólo las pruebas que dependen de los archivos cambiados, usa la opción --watch.

tip

Use --no-watchAll (or --watchAll=false) to explicitly disable the watch mode if it was enabled using --watchAll. 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.

--workerThreads

Whether to use worker threads for parallelization. Child processes are used by default.

caution

This is experimental feature. See the workerThreads configuration option for more details.