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 supports both camelcase and dashed arg formats. The following examples will have an equal result:
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
--json
--outputFile=<filename>
--lastCommit
--listTests
--logHeapUsage
--maxConcurrency=<num>
--maxWorkers=<num>|<string>
--noStackTrace
--notify
--onlyChanged
--passWithNoTests
--projects <path1> ... <pathN>
--reporters
--roots
--runInBand
--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
. Exit the test suite immediately upon n
number of failing test suite. Defaults to 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>
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>
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 and comes with a few caveats
- Your node version must include
vm.compileFunction
, which was introduced in node 10.10 - Tests needs to run in Node test environment (support for
jsdom
requiresjest-environment-jsdom-sixteen
) - V8 has way better data in the later versions, so using the latest versions of node (v13 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>
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.
--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.
--json
Prints the test results in JSON. This mode will send all other test output and user messages to 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
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
. 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 notificaciones para los resultados de pruebas. Good for when you don't want your consciousness to be able to focus on anything except JavaScript testing.
--onlyChanged
Alias: -o
. Intenta identificar qué pruebas debe correr de base de qué archivos cambiados del repositorio actual. 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
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
Run tests with specified reporters. Reporter options are not available via CLI. Example with multiple reporters:
jest --reporters="default" --reporters="jest-junit"
--roots
Una lista de rutas a directorios que Jest usará para buscar archivos.
--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.
--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>
La ruta de acceso a un módulo que ejecuta código para configurar o crear el ambiente de pruebas antes de cada prueba. Beware that files imported by the setup script will not be mocked during testing.
--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>
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
. 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
. 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. Por defecto es true
. Disable using --no-watchman
.