Jest CLI Options
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 lugar de:
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.
jest <regexForTestFiles>
--bail
--cache
--changedFilesWithAncestor
--changedSince
--ci
--clearCache
--collectCoverageFrom=<glob>
--colors
--config=<path>
--coverage[=<boolean>]
--coverageProvider=<provider>
--debug
--detectOpenHandles
--env=<environment>
--errorOnDeprecated
--expand
--findRelatedTests <spaceSeparatedListOfSourceFiles>
--forceExit
--help
--init
--injectGlobals
--json
--outputFile=<filename>
--lastCommit
--listTests
--logHeapUsage
--maxConcurrency=<num>
--maxWorkers=<num>|<string>
--noStackTrace
--notify
--onlyChanged
--passWithNoTests
--projects <path1> ... <pathN>
--reporters
--roots
--runInBand
--selectProjects <project1> ... <projectN>
--runTestsByPath
--setupTestFrameworkScriptFile=<archivo>
--showConfig
--silent
--testNamePattern=<regex>
--testLocationInResults
--testPathPattern=<regex>
--testPathIgnorePatterns=[array]
--testRunner=<ruta>
--testSequencer=<path>
--testTimeout=<number>
--updateSnapshot
--useStderr
--verbose
--version
--watch
--watchAll
--watchman
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. 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. 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. 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>
Un patrón blob relativo al directorio raíz rootDir
para los archivos que se ocuparán para realizar el reporte de cobertura.
--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>
Indica qué proveedor debe ser usado para calcular cobertura. Los valores permitidos son babel
(por defecto) o v8
.
Note that using v8
is considered experimental. Esto utiliza la herramienta de cobertura incorporada de V8 en lugar de una basada en Babel. No está tan bien probado, y también ha mejorado en las últimas versiones de Node. Se obtienen mejores resultados al utilizar las últimas versiones de node (v14 al momento de esta escritura).
--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.
--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
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
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. Behaves similarly to --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
Activa las notificaciones de resultados de la prueba. 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
Una lista de rutas a directorios que Jest usará para buscar archivos.
--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
--setupTestFrameworkScriptFile=<archivo>
Ruta que apunta a un modulo que ejecuta código para configuración inicial necesaria que el framework ejecute antes de cada prueba. Se tiene que tener en cuenta que los archivos importados por el script de configuración inicial no serán sustituidos por mocks durante pruebas.
--showConfig
Imprime tu configuración Jest luego finaliza el programa.
--silent
Previene a las pruebas de imprimir mensajes a través de la consola.
--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=[array]
Arreglo de patrones regexp que se evaluan contra las rutas de los test antes de ejecutarlos. Contrario a --testPathPattern
, solo ejecutará aquellas pruebas con una ruta que no coincida con el regexp proporcionado.
--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>
Tiempo de espera por defecto (en milisegundos) que espera un test. 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
Desvía toda la salida a stderr.
--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
.