Ejecutar solo UNA prueba con Jest


Muy simple, quiero ejecutar solo una prueba con Jest.

Puse it.only o describe.only pero todavía ejecuta un montón de pruebas. Creo que ejecuta todas las pruebas desde mi última confirmación, pero no debería tener este comportamiento con el indicador only explícitamente establecido, ¿verdad?

¿Qué causa este comportamiento y cómo ejecutar una sola prueba?

Author: Andreas Köberle, 2017-06-09

2 answers

Jest paraleliza las ejecuciones de prueba y no sabe por adelantado qué las prueba debería correr y que no debería correr. Esto significa que cuando use "fit", solo ejecutará una prueba en ese archivo pero aún así ejecute todos los demás archivos de prueba en su proyecto .

fit, fdescribe y it.only, describe.only tener el mismo propósito, saltar otros thests, correr sólo yo.

Fuente: https://github.com/facebook/jest/issues/698#issuecomment-177673281


Use el mecanismo de filtrado jest cuando ejecute sus pruebas como

jest --config=jest.config.json --watch

Puede filtrar las pruebas por un testname o filename, simplemente siga las instrucciones en el terminal

introduzca la descripción de la imagen aquí

Presione p, luego escriba un nombre de archivo

introduzca la descripción de la imagen aquí

Luego puede usar describe.only y it.only que omitirán todas las otras pruebas del archivo filtrado y probado.

 34
Author: hinok,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-06-08 23:27:27

it.only y describe.only funcionan solo para el módulo en el que se encuentran. Si tiene problemas para filtrar pruebas en varios archivos, puede usar jest -t name-of-spec, filtrar pruebas que coincidan con el nombre de la especificación (coincidir con el nombre en describir o probar).
Fuente: https://facebook.github.io/jest/docs/en/cli.html

Por ejemplo, enfoco la prueba que estoy escribiendo actualmente de esta manera (con el script de prueba en el package.json):
npm test -- -t "test foo"

 8
Author: rodgobbi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-10-13 19:11:52