Tengo un proyecto de API en el que he estado usando con éxito Jest ( v26.x porque la cobertura de código no funciona con v27.x en Windows 10 para mí) para pruebas unitarias. Me encontré con una situación en la que intento lograr una cobertura de código suficiente en un módulo que estoy probando, pero no se han exportado todas las funciones de ese módulo, por lo que esto impide mi capacidad para lograrlo.
Encontré el paquete NPM rewire , que funcionó muy bien, ya que me permitió simular cualquier función que quisiera. El único problema es que la cobertura del código no reconoce las líneas probadas a través de la rewire y los desarrolladores en Jest GitHub dijeron que no planean admitir esto.
Entonces vi un par de publicaciones que las personas estaban usando con éxito babel-plugin-rewire para lograr lo mismo que rewire , pero que las líneas de cobertura de código se reconocían con éxito con este paquete. Sin embargo, no puedo hacer que esta configuración funcione.
Creo que entiendo los conceptos básicos de Babel, en lo que respecta a los navegadores. Tomará el código JS más nuevo y transpile/polyfill para que se genere un código JS más antiguo que funcionará con los navegadores más antiguos de su elección.
Pero luego comencé a ver cosas sobre babel-jest y Babel integrados en Jest y demás. Aparte del hecho de que no puedo hacer que babel-plugin-rewire funcione, siento que ni siquiera entiendo los conceptos básicos de cómo Babel y Jest funcionan juntos, o por qué Jest necesita Babel.
¿Cuál es la relación entre Babel y Jest?