Bandeja de entrada
Volver a Desarrolladores y QA

Latencia de observación y de entrega son relojes distintos

Polling vs realtime en tests de email: elige una espera, no una falsa garantía de entrega

Polling y eventos solo cambian cómo observas el inbox; no controlan cuándo el sender, la cola o SMTP entregan el mensaje.

8 min de lectura

Un timeout puede venir del sender, de la entrega, del canal realtime o del filtro usado para encontrar el mensaje. Polling y realtime solo resuelven la observación. El test debe definir primero qué email espera y hasta cuándo esperará.

Dos estrategias

PropiedadPollingRealtime
MecanismoConsultar repetidamenteReaccionar a eventos
ComplejidadIntervalo y timeout clarosConexión/reconexión
CargaConsultas vacíasMenos checks sin cambios
FalloTimeout pobreEvento perdido
FallbackSigue hasta deadlineConviene reconciliación

Espera por predicado

  1. 1

    Define el mensaje

    Recipient, sender, subject y ventana temporal.

  2. 2

    Define deadline

    Nunca loop infinito.

  3. 3

    Observa hasta match

    Polling, evento o híbrido pueden compartir el mismo matcher.

  4. 4

    Reporta la capa

    Distingue sin mensaje, mensaje incorrecto y canal realtime roto.

Retryable mejor que sleep

Playwright ofrece expect.poll y assertions con retry; Cypress también reintenta queries y assertions hasta timeout. Es mejor esperar una condición que dormir un tiempo fijo.

El sleep desperdicia tiempo cuando la entrega es rápida y falla artificialmente cuando tarda un poco más.

Realtime no acelera SMTP

Un evento puede aparecer enseguida cuando el receptor guarda el mensaje, pero no fuerza al sender ni a una cola externa a entregar antes.

Usa polling o realtime según tu sistema, pero conserva una assertion estable: el mensaje correcto debe aparecer antes de una deadline y el fallo debe decir en qué capa se perdió tiempo.

¿Necesitas un destinatario limpio para QA manual de correo?

Usa MailOnce para inspeccionar mensajes reales de registro, OTP, enlaces mágicos, restablecimiento de contraseña y notificaciones sin convertir tu correo personal en datos de prueba.

Crear correo temporal

Fuentes y lectura adicional

Documentación primaria de seguridad y ejecución de pruebas usada para fundamentar la guía.

Sigue probando

Continúa con el siguiente límite dentro del mismo problema de pruebas de correo.