Pruebas
En React y Next.js, existen diferentes tipos de pruebas que puede escribir, cada una con su propio propósito y casos de uso. Esta página proporciona una visión general de los tipos y herramientas comúnmente utilizadas para probar su aplicación.
Tipos de pruebas
- Pruebas unitarias implican probar unidades individuales (o bloques de código) de forma aislada. En React, una unidad puede ser una función, hook o componente individual.
- Pruebas de componentes son una versión más enfocada de las pruebas unitarias donde el sujeto principal de las pruebas son los componentes de React. Esto puede incluir probar cómo se renderizan los componentes, su interacción con props y su comportamiento en respuesta a eventos del usuario.
- Pruebas de integración implican probar cómo múltiples unidades funcionan juntas. Esto puede ser una combinación de componentes, hooks y funciones.
- Pruebas de extremo a extremo (E2E) implican probar flujos de usuario en un entorno que simula escenarios reales, como el navegador. Esto significa probar tareas específicas (ej. flujo de registro) en un entorno similar a producción.
- Pruebas de instantáneas (snapshot testing) implican capturar la salida renderizada de un componente y guardarla en un archivo de instantánea. Cuando se ejecutan las pruebas, la salida renderizada actual del componente se compara con la instantánea guardada. Los cambios en la instantánea se utilizan para indicar cambios inesperados en el comportamiento.
Componentes de Servicio Asíncronos
Dado que los componentes de servicio async
son nuevos en el ecosistema de React, algunas herramientas no los soportan completamente. Mientras tanto, recomendamos usar Pruebas de extremo a extremo (E2E) en lugar de Pruebas unitarias para componentes async
.
Guías
Consulte las guías a continuación para aprender cómo configurar Next.js con estas herramientas de pruebas comúnmente utilizadas:
Vitest
Aprende a configurar Vitest con Next.js para pruebas unitarias.
Jest
Aprende a configurar Jest con Next.js para pruebas unitarias (Unit Testing) y pruebas de instantáneas (Snapshot Testing).
Playwright
Aprende a configurar Playwright con Next.js para pruebas de extremo a extremo (E2E).
Cypress
Aprende a configurar Cypress con Next.js para pruebas de extremo a extremo (E2E) y pruebas de componentes.