Muy simple, quiero ejecutar solo una prueba con Jest.
Puse it.onlyo, describe.onlypero 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 onlybandera establecida explícitamente, ¿verdad?
¿Qué causa este comportamiento y cómo ejecutar una única prueba?
                    
                        javascript
                                unit-testing
                                jestjs
                                
                    
                    
                        jpenna
fuente
                
                fuente

Respuestas:
fit,fdescribeyit.only,describe.onlytienen el mismo propósito, omitir otras pruebas, ejecutar solo yo.Fuente: https://github.com/facebook/jest/issues/698#issuecomment-177673281
Utilice el
jestmecanismo de filtrado, cuando ejecute sus pruebas comoPuede filtrar las pruebas por
testnameofilename, simplemente siga las instrucciones en la terminalPresione
p, luego escriba un nombre de archivoLuego puede usar
describe.onlyyit.onlyque omitirá todas las demás pruebas del archivo filtrado y probado.fuente
.onlyúnico que funciona para las pruebas del mismo archivo?it.onlyoit.skippara 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.onlyconsole.logs del componente Carousel tantas veces como haya pruebas omitidas / no omitidas para ese componente en tus patrones de reloj.it.onlyydescribe.onlyfuncionan solo para el módulo en el que se encuentran. Si tiene problemas para filtrar pruebas en varios archivos, puede utilizarjest -t name-of-specpruebas 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
describebloque 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.jsy la coincidencia según la opción -t, si solo desea probar un archivo específico, puede hacer esto:fuente
launch.jsonarchivo 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 testfuente