Boîte de réception
Retour à Développeurs & QA

Latence d'observation et latence de livraison sont deux choses différentes

Polling ou temps réel pour les tests e-mail : choisissez une attente, pas une garantie de livraison

Polling et événements temps réel modifient la façon dont le test découvre un message reçu ; ils ne garantissent pas le délai du sender, de la file ou du transport SMTP.

8 min de lecture

Un timeout e-mail peut venir d'un envoi tardif, d'une livraison lente, d'un événement temps réel manqué ou d'un mauvais filtre de message. Polling et realtime ne résolvent que la partie observation. Un test fiable définit d'abord le message attendu et une deadline, puis choisit comment observer jusqu'à cette limite.

Deux stratégies d'observation

PropriétéPollingRealtime
MécanismeInterroger périodiquementRéagir à un événement
ComplexitéSimple avec intervalle et deadlineConnexion et reconnexion à gérer
ChargeRequêtes même sans changementMoins de vérifications vides
ÉchecTimeout trop courtÉvénement perdu ou connexion cassée
FallbackContinue naturellement jusqu'à la deadlineGagne à avoir une réconciliation

Construisez l'attente autour d'un prédicat

  1. 1

    Définissez le message

    Destinataire, sender, sujet et fenêtre temporelle.

  2. 2

    Fixez une deadline

    Pas de boucle infinie.

  3. 3

    Observez jusqu'à correspondance

    Polling, event ou hybride peuvent utiliser la même logique de matching.

  4. 4

    Échouez avec un diagnostic de couche

    Distinguez message absent, mauvais message et canal realtime défaillant.

Une attente retryable vaut mieux qu'un sleep arbitraire

Playwright propose des assertions qui réessaient et expect.poll ; Cypress réessaie également queries et assertions jusqu'au timeout. Le principe est meilleur qu'un sleep fixe : attendre une condition utile jusqu'à une deadline.

Un délai fixe gaspille du temps quand tout est rapide et échoue artificiellement quand la livraison dépasse légèrement la valeur choisie.

Realtime ne rend pas SMTP realtime

Un événement peut être émis immédiatement après stockage côté réception, mais il ne force pas le site expéditeur ou un fournisseur en amont à envoyer plus tôt.

Choisissez polling ou realtime selon votre système d'observation, mais gardez la vraie assertion indépendante : un message précis doit apparaître avant une deadline explicite, avec des diagnostics capables d'identifier la couche lente.

Besoin d’un destinataire propre pour la QA e-mail manuelle ?

Utilisez MailOnce pour inspecter de vrais messages d’inscription, OTP, liens magiques, réinitialisation de mot de passe et notifications sans placer votre boîte personnelle dans les données de test.

Créer un e-mail temporaire

Sources et lectures complémentaires

Documentation primaire de sécurité et d’exécution de tests utilisée pour étayer les recommandations.

Poursuivre les tests

Passez à la prochaine frontière du même problème de test e-mail.