Skip to main content
Version: 27.2

Opciones de CLI de Jest

El comando 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 todos 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 #or
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.

Uso con yarn#

Si ejecutas Jest a través del comando yarn test, puedes pasar los argumentos de la línea de comandos directamente como argumentos de Jest.

En vez de:

jest -u -t="ColorPicker"

puedes usar:

yarn test -u -t="ColorPicker"

Uso con scripts npm#

Si ejecutas Jest a través de npm test, puedes utilizar los argumentos de la línea de comandos insertando -- entre npm test y los argumentos Jest.

En vez de:

jest -u -t="ColorPicker"

puedes usar:

npm test -- -u -t="ColorPicker"

Soporte para argumentos camelcase y con & guiones#

Jest soporta tanto argumentos camelcase como con guiones. Los siguientes ejemplos tendrán un resultado igual:

jest --collect-coverage
jest --collectCoverage

Se puede también combinar argumentos:

jest --update-snapshot --detectOpenHandles

Opciones#

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


Reference#

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. 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. 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. Nota: el caché debería ser desactivado sólo si estas experimentando problemas relacionados con el caché. En promedio, desactivar la caché provoca que Jest sea por lo menos dos veces más lento.

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#

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. 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. Nota: vaciar el caché reducirá el rendimiento.

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

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

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

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

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. Nota: 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. You can use --detectOpenHandles to help track it down.

--help#

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

--init#

Genera un fichero de configuración básico. 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#

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

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.

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

--lastCommit#

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

--listTests#

Dados unos argumentos, jest lista todos los test como un JSON. Puede ser usado junto --findRelatedTests para saber que test se van a ejecutar.

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

--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 that if configuration files are found in the specified paths, all projects specified within those configuration files will be run.

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

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

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

Ejecuta sólo las pruebas de los proyectos especificados. 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.

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

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

--showConfig#

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

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

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

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

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

A single or array of regexp pattern strings that are tested against all tests paths before executing the test. Contrario a --testPathPattern, solo ejecutará aquellas pruebas con una ruta que no coincida con el regexp proporcionado.

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

Te permite especificar un corredor de prueba personalizado.

--testSequencer=<path>#

Permite especificar un secuenciador de test personalizado. Consulta la documentación del atributo de configuración correspondiente para más detalles.

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

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

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

Usa --watchAll=false para desactivar explícitamente el modo watch/observación. Ten en cuenta que en la mayoría de los entornos CI, esto se gestiona automáticamente.

--watchman#

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