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: