Saltar al contenido

¿Cómo ejecuto una única prueba con Jest?

La guía paso a paso o código que hallarás en este post es la solución más fácil y válida que hallamos a esta duda o problema.

Solución:

Desde la línea de comando, use el --testNamePattern o -t bandera:

jest -t 'fix-order-test'

Esto solo ejecutará pruebas que coincidan con el patrón de nombre de prueba que proporciones. Está en la documentación de Jest.

Otra forma es ejecutar pruebas en modo reloj, jest --watchy luego presione PAG para filtrar las pruebas escribiendo el nombre del archivo de prueba o T para ejecutar un solo nombre de prueba.


Si tienes un it dentro de un describe bloquear, tienes que correr

jest -t ' '

La documentación de Jest recomienda lo siguiente:

Si una prueba falla, una de las primeras cosas que debe verificar debe ser si la prueba falla cuando es la única prueba que se ejecuta. En Jest es simple ejecutar solo una prueba, solo cambie temporalmente eso test
comando a un test.only

test.only('this will be the only test that runs', () => 
   expect(true).toBe(false);
);

o

it.only('this will be the only test that runs', () => 
   expect(true).toBe(false);
);

Comando completo para ejecutar una sola prueba de Jest

Mando:

node -i -c -t ""

  • :
    • Ventanas: node_modulesjestbinjest.js
    • Otros: node_modules/.bin/jest
  • -i : ruta al archivo con pruebas (js o ts)
  • -c : ruta a un archivo de configuración de Jest (JSON) separado, si mantiene su configuración de Jest en package.json, no tiene que especificar este parámetro (Jest lo encontrará sin su ayuda)
  • -t : en realidad es un nombre (el primer parámetro) de describe(...), it(...), o test(...) cuadra.

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" luego ejecutará ambas pruebas desde el describe("math tests",...) cuadra.

Observaciones:

  1. Para Windows, reemplace node_modules/.bin/jest con node_modulesjestbinjest.js.
  2. Este enfoque le permite depurar el script en ejecución. Para habilitar la depuración, agregue '--inspect-brk' parámetro al comando.

Ejecución de una única prueba de Jest a través de scripts de NPM en ‘package.json’

Una vez instalado Jest, puede simplificar la sintaxis de este comando (arriba) utilizando scripts de NPM. En "package.json" agregue un nuevo script al "scripts" sección:

"scripts": 
  "test:math": "jest -i test/my-tests.js -t "math tests"",

En este caso, usamos un alias 'jest' en lugar de escribir la ruta completa. Además, no especificamos la ruta del archivo de configuración ya que podemos colocarlo en "package.json" también y Jest lo investigará de forma predeterminada. Ahora puede ejecutar el comando:

npm run test:math

Y el "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 tirar del parámetro fuera del "test:math" script y páselo 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:

  1. los 'jest' El comando funcionará con los scripts de NPM porque

npm marcas "./node_modules/.bin" la primera entrada en el PATH variable de entorno al ejecutar cualquier script del ciclo de vida, por lo que esto funcionará bien, incluso si su programa no está instalado globalmente (blog de NPM) 2. 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.


Ejecución de una prueba de Jest seleccionada en Visual Studio Code

Si está utilizando Visual Studio Code, puede aprovecharlo y ejecutar la prueba actualmente seleccionada (en el editor de código) presionando la tecla F5 botón. Para hacer esto, necesitaremos crear un nuevo bloque de configuración de lanzamiento en el ".vscode/launch.json" expediente. En esa configuración, usaremos variables predefinidas que se sustituyen con los valores apropiados (desafortunadamente 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 actualmente en el archivo activo

Pero antes de escribir la configuración de lanzamiento, debemos agregar el 'test' guión en nuestro 'package.json' (si aún no lo hemos hecho).

Archivo 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 volver a escribir los parámetros del comando manualmente.

Esto es todo lo que necesita hacer:

  1. Seleccione la configuración de lanzamiento creada actualmente en el panel de depuración:

    Seleccione la configuración de inicio en el panel de depuración de Visual Studio Code

  2. Abra el archivo con las pruebas en el editor de código y seleccione el nombre de la prueba que desea probar (sin las comillas):

    Seleccione el nombre de la prueba

  3. prensa F5 botón.

¡Y voilá!

Ahora para ejecutar cualquier prueba que desee. Simplemente ábralo en el editor, seleccione su nombre y presione F5.

Desafortunadamente, no será “voilà” en una máquina con Windows porque sustituyen (quién sabe por qué) el $relativeFile variable con la ruta con barras invertidas y Jest no entendería tal ruta.

Observaciones:

  1. Para ejecutar bajo el depurador, no olvide agregar el '--inspect-brk' parámetro.
  2. En este ejemplo de configuración, no tenemos el parámetro de configuración Jest asumiendo que está incluido en 'package.json'.

valoraciones y comentarios

Si estás contento con lo expuesto, eres capaz de dejar un tutorial acerca de qué te ha impresionado de este ensayo.

¡Haz clic para puntuar esta entrada!
(Votos: 2 Promedio: 4)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *