Chuck's Academy

DOM Testing Library

Mocking y stubbing en Testing Library

Al escribir pruebas, a menudo es necesario imitar ciertos comportamientos o dependencias para aislar el código que estamos probando. Este proceso se conoce como "mocking" y "stubbing". En este capítulo, aprenderemos cómo realizar esas técnicas utilizando DOM Testing Library junto con Jest.

¿Qué es Mocking y Stubbing?

  • Mocking: Crear implementaciones falsas de funciones o módulos para simular su comportamiento.
  • Stubbing: Sustituir una función específica por una versión predefinida que simula una respuesta o un comportamiento.

Escenario de Ejemplo

Vamos a usar un escenario donde un componente realiza una llamada a una API para obtener datos y mostrar el resultado. En lugar de hacer una llamada real a la API, usaremos mocking y stubbing para simular la respuesta.

Crear el Componente

Archivo index.js:

javascript

Prueba con Mocking usando Jest

Vamos a escribir una prueba que simula la llamada a la API y verifica que el componente muestra los datos correctamente.

Archivo component.test.js:

javascript

Estubs con Jest

En algunos casos, es posible que no necesitemos mockear toda una función o módulo, sino simplemente reemplazar una función específica.

Ejemplo de Stubbing:

javascript

[Placeholder para imagen explicativa: Diagrama que muestra cómo se realiza el mocking y el stubbing en Jest, desde la simulación de la función hasta la verificación de resultados en el DOM]

Beneficios del Mocking y Stubbing

  • Aislamiento de Pruebas: Permite probar componentes en aislamiento sin depender de servicios externos.
  • Consistencia: Garantiza resultados consistentes en las pruebas al controlar las respuestas.
  • Reducción de Tiempo: El mocking y el stubbing pueden hacer que las pruebas sean más rápidas al evitar llamadas a redes reales.

Conclusión

En este capítulo, has aprendido cómo usar mocking y stubbing en tus pruebas con DOM Testing Library y Jest. Estas técnicas son esenciales para asegurar que puedes probar tu código en aislamiento, garantizando resultados confiables y consistentes sin importar las dependencias externas.

En los próximos capítulos, nos adentraremos en las pruebas de interacciones complejas del usuario y en las pruebas de accesibilidad.


Apoya a Chuck's Academy!

¿Disfrutando de este curso? Puse mucho esfuerzo en hacer la educación en programación gratuita y accesible. Si encontraste esto útil, considera comprarme un café para apoyar futuras lecciones. ¡Cada contribución ayuda a mantener esta academia en funcionamiento! ☕🚀

Buy Me A Coffee

Chatea con Chuck

Cargando...
Chatea con Chuck AI