Testing JavaScript y DOM con 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.
- Introducción al Testing en JavaScript con Testing Library
- Fundamentos del DOM
- Instalación y configuración de Testing Library
- Escribir las primeras pruebas unitarias con Testing Library
- Pruebas de componentes DOM con Testing Library
- Pruebas de eventos del DOM con Testing Library
- Mocking y stubbing en Testing Library
- Pruebas de interacciones del usuario con Testing Library
- Pruebas de accesibilidad con Testing Library
- Pruebas asíncronas con Testing Library
- Organización y estructura de tests en Testing Library
- Automatización de pruebas con CI/CD usando Testing Library
- Mejores prácticas para testing con Testing Library
- Depuración de pruebas fallidas en Testing Library
- Conclusiones y próximos pasos en el testing con Testing Library