Comando completo para ejecutar una sola prueba de Jest
Mando:
node <path-to-jest> -i <you-test-file> -c <jest-config> -t "<test-block-name>"
<path-to-jest>
:
- Ventanas:
node_modules\jest\bin\jest.js
- Otros:
node_modules/.bin/jest
-i <you-test-file>
: ruta al archivo con pruebas ( js
o ts
)
-c <jest-config>
: ruta a un archivo de configuración de Jest separado (JSON), si mantiene su configuración de Jest package.json
no tiene que especificar este parámetro (Jest lo encontrará sin su ayuda)
-t <the-name-of-test-block>
: En realidad, es un nombre (el primer parámetro) de describe(...)
, it(...)
o test(...)
bloque.
Ejemplo:
describe("math tests", () => {
it("1 + 1 = 2", () => {
expect(1 + 1).toBe(2);
});
it("-1 * -1 !== -1", () => {
expect(-1 * -1).not.toBe(-1);
});
});
Entonces, el comando
node node_modules/jest/bin/jest.js -i test/math-tests.js -c test/tests-config.json -t "1 + 1 = 2"
probará it("1 + 1 = 2", ...)
, pero si cambia el -t
parámetro a "math tests"
, ejecutará ambas pruebas desde el describe("math tests",...)
bloque.
Observaciones:
- Para Windows, reemplace
node_modules/.bin/jest
connode_modules\jest\bin\jest.js
.
- Este enfoque le permite depurar el script en ejecución. Para habilitar la depuración, agregue el
'--inspect-brk'
parámetro al comando.
Ejecutando una sola prueba de Jest a través de scripts NPM en 'package.json'
Una vez instalado Jest, puede simplificar la sintaxis de este comando (arriba) mediante el uso de scripts NPM . En "package.json"
agregar un nuevo script a la "scripts"
sección:
"scripts": {
"test:math": "jest -i test/my-tests.js -t \"math tests\"",
}
En este caso, usamos un alias en 'jest'
lugar de escribir la ruta completa. Además, no especificamos la ruta del archivo de configuración, ya que también podemos "package.json"
ubicarla y Jest la examinará de forma predeterminada. Ahora puedes ejecutar el comando:
npm run test:math
y "math tests"
se ejecutará el bloque con dos pruebas. O, por supuesto, puede especificar una prueba en particular por su nombre.
Otra opción sería extraer el <the-name-of-test-block>
parámetro fuera del "test:math"
script y pasarlo desde el comando NPM:
package.json:
"scripts": {
"test:math": "jest -i test/my-tests.js -t",
}
Mando:
npm run test:math "math tests"
Ahora puede administrar el nombre de la (s) prueba (s) de ejecución con un comando mucho más corto.
Observaciones:
- El
'jest'
comando funcionará con scripts NPM porque
npm realiza "./node_modules/.bin"
la primera entrada en la PATH
variable de entorno cuando ejecuta scripts de ciclo de vida, por lo que funcionará bien, incluso si su programa no está instalado globalmente ( blog de NPM )
- Este enfoque no parece permitir la depuración porque Jest se ejecuta a través de su binario / CLI , no a través de
node
.
Ejecutando la prueba Jest seleccionada en Visual Studio Code
Si está utilizando Visual Studio Code, puede aprovecharlo y ejecutar la prueba seleccionada actualmente (en el editor de código) presionando el F5
botón. Para hacer esto, necesitaremos crear un nuevo bloque de configuración de inicio en el ".vscode/launch.json"
archivo. En esa configuración, utilizaremos variables predefinidas que se sustituyen por las apropiadas (desafortunadamente valores no siempre ) cuando se ejecuta. De todos los disponibles solo nos interesan estos:
${relativeFile}
- el archivo abierto actual relativo a
${workspaceFolder}
${selectedText}
- el texto seleccionado actual en el archivo activo
Pero antes de escribir la configuración de lanzamiento debemos agregar el 'test'
script en nuestro 'package.json'
(si aún no lo tenemos).
package.json:
"scripts": {
"test": "jest"
}
entonces podemos usarlo en nuestra configuración de lanzamiento.
Configuración de lanzamiento:
{
"type": "node",
"request": "launch",
"name": "Run selected Jest test",
"runtimeExecutable": "npm",
"runtimeArgs": [
"run-script",
"test"
],
"args": [
"--",
"-i",
"${relativeFile}",
"-t",
"${selectedText}"
],
"console": "integratedTerminal",
}
en realidad hace lo mismo que los comandos descritos anteriormente en esta respuesta. Ahora que todo está listo, podemos ejecutar cualquier prueba que queramos sin tener que reescribir los parámetros del comando manualmente.
Esto es todo lo que necesitas hacer:
- Seleccione la configuración de inicio creada actualmente en el panel de depuración:
- Abra el archivo con pruebas en el editor de código y seleccione el nombre de la prueba que desea probar (sin comillas):
- Presione el
'F5'
botón
¡Y voilá!
Ahora para ejecutar cualquier prueba que desee simplemente ábrala en el editor, seleccione su nombre y presione F5.
Desafortunadamente, no será "voila" en las máquinas con Windows porque sustituyen (quién sabe por qué) la ${relativeFile}
variable con la ruta que ha invertido las barras inclinadas y Jest no entendería esa ruta.
Observaciones:
- Para ejecutar bajo el depurador, no olvide agregar el
'--inspect-brk'
parámetro.
- En este ejemplo de configuración, no tenemos el parámetro de configuración de Jest asumiendo que está incluido
'package.json'
.