Een e‑mailadapter voorkomt dat testcases afhankelijk zijn van het responsformaat van één provider. Hij moet een klein contract blootleggen terwijl voldoende informatie behouden blijft om fouten te diagnosticeren.
Definieer vier bewerkingen
- Prepare: stel een toegestane synthetische ontvanger in en registreer de testcontext.
- Wait: vind een bericht dat overeenkomt met de ontvanger, het doel en het aanvraagvenster binnen een deadline.
- Read: verkrijg de inhoud die nodig is voor de assertie zonder geheimen te loggen.
- Clean up: verwijder testartefacten waar ondersteund en registreer eventuele onvoltooide opruiming.
Retourneer verschillende uitkomsten
| Uitkomst | Betekenis |
|---|---|
| Matched | Een bericht voldoet aan de correlatieregels van deze test. |
| Timed out | Er werd geen overeenkomend bericht waargenomen vóór de deadline. |
| Access rejected | De inloggegevens of inbox‑toegang konden niet worden gevalideerd. |
| Provider unavailable | De mailboxservice kon de bewerking niet voltooien. |
Test de adapter onafhankelijk
Gebruik fixtures om paginering, lege resultaten, retries, misvormde reacties en annulering te controleren. Houd een kleine, rate‑gelimiteerde live‑integratietest voor gedrag dat fixtures niet kunnen vaststellen. Volg het huidige API‑contract van de provider in plaats van de inbox‑UI te scrapen.
Houd productasserties boven de adapter
De toepassings‑test moet bepalen of een welkomstbericht de juiste bestemming heeft of of een verificatiestroom de beoogde status wijzigt. De adapter mag die zakelijke uitkomsten niet stilzwijgend als geslaagd verklaren alleen omdat een e‑mail is aangekomen.
Raadpleeg de huidige CleanTempMail API‑documentatie voordat u de adapter implementeert, inclusief authenticatie en gebruikslimieten.