Muy simple, quiero ejecutar solo una prueba con Jest.
Puse it.only
o, describe.only
pero todavía ejecuta muchas pruebas. Creo que ejecuta todas las pruebas desde mi última confirmación, pero no debería tener este comportamiento con la only
bandera establecida explícitamente, ¿verdad?
¿Qué causa este comportamiento y cómo ejecutar una única prueba?
javascript
unit-testing
jestjs
jpenna
fuente
fuente
Respuestas:
fit
,fdescribe
yit.only
,describe.only
tienen el mismo propósito, omitir otras pruebas, ejecutar solo yo.Fuente: https://github.com/facebook/jest/issues/698#issuecomment-177673281
Utilice el
jest
mecanismo de filtrado, cuando ejecute sus pruebas comoPuede filtrar las pruebas por
testname
ofilename
, simplemente siga las instrucciones en la terminalPresione
p
, luego escriba un nombre de archivoLuego puede usar
describe.only
yit.only
que omitirá todas las demás pruebas del archivo filtrado y probado.fuente
.only
único que funciona para las pruebas del mismo archivo?it.only
oit.skip
para una sola prueba que contiene un error de sintaxis, todas las pruebas fallarán. Por supuesto, el código de los archivos excluidos por patrón no se ejecutará. imgur.com/z9FlQEZif.only
console.logs del componente Carousel tantas veces como haya pruebas omitidas / no omitidas para ese componente en tus patrones de reloj.it.only
ydescribe.only
funcionan solo para el módulo en el que se encuentran. Si tiene problemas para filtrar pruebas en varios archivos, puede utilizarjest -t name-of-spec
pruebas de filtrado que coincidan con el nombre de la especificación (coincidan con el nombre en describir o probar).Fuente: https://facebook.github.io/jest/docs/en/cli.html
Por ejemplo, me enfoco en la prueba que estoy escribiendo actualmente así (con el script de prueba en
package.json
):npm test -- -t "test foo"
fuente
describe
bloque de prueba ). Si ese es el caso, debe limitarse al nombre exacto de la prueba que desea enfocar.Es como esto:
jest sometest.test.js -t "some expression to match a describe or a test"
probará todos los archivos con el nombre
sometest.test.js
y la coincidencia según la opción -t, si solo desea probar un archivo específico, puede hacer esto:fuente
launch.json
archivo de configuración de VSCode que activará las pruebas en un caso de prueba específico: medium.com/better-programming/…Para mí, funciona si uso 2 parámetros como este:
yarn test --watch -f "src/...fullpath.../reducer.spec.js" -t "Name of the test"
Banderas:
--watch: is optional -f: will do filtering of your files, so if you have a lot of tests with the same name, specify the full path to the exact file -t: works with 'describe' name or 'it' name of your test
fuente