Opciones de CLI de Jest
Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →
El ejecutor de línea de comandos jest tiene varias opciones útiles. Puedes ejecutar jest --help para ver todas las opciones disponibles. Muchas de las opciones mostradas a continuación también pueden combinarse para ejecutar pruebas exactamente como deseas. Cualquier opción de Configuración de Jest también puede especificarse mediante la CLI.
Aquí tienes un resumen breve:
Ejecución desde la línea de comandos
Ejecutar todas las pruebas (predeterminado):
jest
Ejecutar solo las pruebas especificadas con un patrón o nombre de archivo:
jest my-test #or
jest path/to/my-test.js
Ejecutar pruebas relacionadas con archivos modificados según hg/git (archivos no confirmados):
jest -o
Ejecutar pruebas relacionadas con path/to/fileA.js y path/to/fileB.js:
jest --findRelatedTests path/to/fileA.js path/to/fileB.js
Ejecutar pruebas que coincidan con este nombre de spec (básicamente, coincide con el nombre en describe o test).
jest -t name-of-spec
Ejecutar en modo watch:
jest --watch #runs jest -o by default
jest --watchAll #runs all tests
El modo watch también permite especificar el nombre o ruta de un archivo para enfocarse en un conjunto específico de pruebas.
Uso con gestores de paquetes
Si ejecutas Jest mediante tu gestor de paquetes, aún puedes pasar los argumentos de línea de comandos directamente como argumentos de Jest.
En lugar de:
jest -u -t="ColorPicker"
puedes usar:
- npm
- Yarn
- pnpm
- Bun
npm test -- -u -t="ColorPicker"
yarn test -u -t="ColorPicker"
pnpm test -u -t="ColorPicker"
bun run test -u -t "ColorPicker"
Soporte para args en camelCase y guiones
Jest admite formatos de argumentos tanto en camelCase como con guiones. Los siguientes ejemplos tendrán resultados equivalentes:
jest --collect-coverage
jest --collectCoverage
Los argumentos también pueden mezclarse:
jest --update-snapshot --detectOpenHandles
Opciones
Las opciones de CLI tienen prioridad sobre los valores de la Configuración.
- Soporte para args en camelCase y guiones
- Opciones
- Referencia
jest <regexForTestFiles>--bail[=<n>]--cache--changedFilesWithAncestor--changedSince--ci--clearCache--clearMocks--collectCoverageFrom=<glob>--colors--config=<path>--coverage[=<boolean>]--coverageDirectory=<path>--coverageProvider=<provider>--debug--detectOpenHandles--env=<environment>--errorOnDeprecated--expand--filter=<file>--findRelatedTests <spaceSeparatedListOfSourceFiles>--forceExit--help--ignoreProjects <project1> ... <projectN>--injectGlobals--json--lastCommit--listTests--logHeapUsage--maxConcurrency=<num>--maxWorkers=<num>|<string>--noStackTrace--notify--onlyChanged--onlyFailures--openHandlesTimeout=<milliseconds>--outputFile=<filename>--passWithNoTests--projects <path1> ... <pathN>--randomize--reporters--resetMocks--restoreMocks--roots--runInBand--runTestsByPath--seed=<num>--selectProjects <project1> ... <projectN>--setupFilesAfterEnv <path1> ... <pathN>--shard--showConfig--showSeed--silent--testEnvironmentOptions=<json string>--testLocationInResults--testMatch glob1 ... globN--testNamePattern=<regex>--testPathIgnorePatterns=<regex>|[array]--testPathPatterns=<regex>--testRunner=<path>--testSequencer=<path>--testTimeout=<number>--updateSnapshot--useStderr--verbose--version--waitForUnhandledRejections--watch--watchAll--watchman--workerThreads
Referencia
jest <regexForTestFiles>
Cuando ejecutas jest con un argumento, ese argumento se trata como una expresión regular para coincidir con archivos en tu proyecto. Es posible ejecutar conjuntos de pruebas proporcionando un patrón. Solo se seleccionarán y ejecutarán los archivos que coincidan con el patrón. Según tu terminal, es posible que necesites entrecomillar este argumento: jest "my.*(complex)?pattern". En Windows, deberás usar / como separador de rutas o escapar \ como \\.
--bail[=<n>]
Alias: -b. Sale inmediatamente del conjunto de pruebas tras n número de conjuntos de pruebas fallidos. Por defecto es 1.
--cache
Determina si se usa la caché. Por defecto es true. Desactiva la caché usando --no-cache.
La caché solo debe desactivarse si experimentas problemas relacionados con el almacenamiento en caché. En promedio, desactivar la caché hace que Jest sea al menos dos veces más lento.
Si deseas inspeccionar la caché, usa --showConfig y busca el valor de cacheDirectory. Si necesitas borrar la caché, usa --clearCache.
--changedFilesWithAncestor
Ejecuta pruebas relacionadas con los cambios actuales y los cambios del último commit. Se comporta de manera similar a --onlyChanged.
--changedSince
Ejecuta pruebas relacionadas con los cambios desde la rama o hash de commit proporcionado. Si la rama actual ha divergido de la rama dada, solo se probarán los cambios locales. Se comporta de manera similar a --onlyChanged.
--ci
Cuando se proporciona esta opción, Jest asumirá que se ejecuta en un entorno de CI. Esto cambia el comportamiento cuando se encuentra un nuevo snapshot. En lugar del comportamiento habitual de almacenar automáticamente un nuevo snapshot, fallará la prueba y requerirá ejecutar Jest con --updateSnapshot.
--clearCache
Elimina el directorio de caché de Jest y luego sale sin ejecutar pruebas. Eliminará cacheDirectory si se pasa esta opción, o el directorio de caché predeterminado de Jest. El directorio de caché predeterminado se puede encontrar ejecutando jest --showConfig.
Limpiar la caché reducirá el rendimiento.
--clearMocks
Borra automáticamente las llamadas, instancias, contextos y resultados de los mocks antes de cada prueba. Equivale a llamar a jest.clearAllMocks() antes de cada prueba. Esto no elimina ninguna implementación de mock que se haya proporcionado.
--collectCoverageFrom=<glob>
Patrón glob relativo a rootDir que coincide con los archivos de los que se debe recopilar información de cobertura.
--colors
Fuerza el resaltado de los resultados de las pruebas incluso si stdout no es una terminal TTY.
Alternativamente, puedes establecer la variable de entorno FORCE_COLOR=true para habilitar forzadamente o FORCE_COLOR=false para deshabilitar la salida con colores. El uso de FORCE_COLOR anula todas las demás comprobaciones de soporte de color.
--config=<path>
Alias: -c. La ruta al archivo de configuración de Jest que especifica cómo encontrar y ejecutar pruebas. Si no se establece rootDir en la configuración, se asume que el directorio que contiene el archivo de configuración es el rootDir del proyecto. También puede ser un valor codificado en JSON que Jest usará como configuración.
--coverage[=<boolean>]
Alias: --collectCoverage. Indica que se debe recopilar y reportar información de cobertura de pruebas en la salida. Opcionalmente pasa <boolean> para anular la opción establecida en la configuración.
--coverageDirectory=<path>
El directorio donde Jest debe guardar sus archivos de cobertura.
--coverageProvider=<provider>
Indica qué proveedor usar para instrumentar el código para cobertura. Valores permitidos: babel (predeterminado) o v8.
--debug
Imprime información de depuración sobre tu configuración de Jest.
--detectOpenHandles
Intenta recopilar e imprimir manejadores abiertos que impiden que Jest salga limpiamente. Usa esto en casos donde necesitas usar --forceExit para que Jest salga y así poder rastrear la razón. Esto implica --runInBand, haciendo que las pruebas se ejecuten en serie. Implementado usando async_hooks. Esta opción tiene una penalización significativa de rendimiento y solo debe usarse para depuración.
--env=<environment>
El entorno de prueba usado para todas las pruebas. Puede apuntar a cualquier archivo o módulo de node. Ejemplos: jsdom, node o path/to/my-environment.js.
--errorOnDeprecated
Hace que llamar a APIs obsoletas genere mensajes de error útiles. Facilita el proceso de actualización.
--expand
Alias: -e. Usa esta bandera para mostrar diferencias completas y errores en lugar de un parche.
--filter=<file>
Ruta a un módulo que exporte una función de filtrado. Esta función asíncrona recibe una lista de rutas de pruebas que pueden manipularse para excluir pruebas de la ejecución y debe devolver un objeto con la forma { filtered: Array<string> } que contenga las pruebas que Jest debe ejecutar. Especialmente útil cuando se usa junto con una infraestructura de pruebas para filtrar pruebas defectuosas conocidas.
// 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>
Encuentra y ejecuta las pruebas que cubren una lista separada por espacios de archivos fuente pasados como argumentos. Útil para integración con hooks de pre-commit para ejecutar la cantidad mínima de pruebas necesarias. Puede usarse junto con --coverage para incluir una cobertura de pruebas para los archivos fuente, sin necesidad de argumentos duplicados --collectCoverageFrom.
--forceExit
Fuerza a Jest a salir después de completar todos los tests. Es útil cuando recursos configurados por el código de pruebas no pueden limpiarse adecuadamente.
Esta característica es un último recurso. Si Jest no sale al final de una ejecución, significa que aún hay recursos externos retenidos o temporizadores pendientes en tu código. Se recomienda liberar recursos externos después de cada prueba para asegurar un cierre limpio. Puedes usar --detectOpenHandles para ayudar a diagnosticarlo.
--help
Muestra información de ayuda, similar a esta página.
--ignoreProjects <project1> ... <projectN>
Ignora los tests de los proyectos especificados. Jest usa el atributo displayName en la configuración para identificar proyectos. Si usas esta opción, debes definir displayName en todos tus proyectos.
--injectGlobals
Inserta las variables globales de Jest (expect, test, describe, beforeEach, etc.) en el entorno global. Si estableces esto en false, deberás importarlas desde @jest/globals, ej:
import {expect, jest, test} from '@jest/globals';
jest.useFakeTimers();
test('some test', () => {
expect(Date.now()).toBe(0);
});
Esta opción solo es compatible con el corredor de pruebas predeterminado jest-circus.
--json
Imprime los resultados de pruebas en formato JSON. Este modo envía demás salidas y mensajes de usuario a stderr.