Um teste de email automatizado precisa de mais do que um endereço de caixa de entrada. Ele requer um contrato que descreva a qual execução a mensagem pertence, quanto tempo aguardar e quais evidências reter quando o teste falhar.
Forneça a cada execução um registro de correlação
Armazene um identificador da execução de teste, destinatário sintético, horário de disparo e propósito esperado da mensagem. Onde sua aplicação suportar, inclua um marcador de correlação não sensível no conteúdo da mensagem de teste. Faça a correspondência usando mais do que apenas o assunto: uma mensagem antiga com o mesmo assunto pode, de outra forma, fazer uma execução quebrada parecer bem‑sucedida.
Aguarde dentro de um orçamento explícito
create test context
trigger the application action
until the test deadline:
read messages using the provider's documented API
accept only a message matching this run
wait using bounded backoff if no match exists
report matched, timed out, or provider error
Este é pseudocódigo, não um exemplo da API CleanTempMail. Use a documentação da API atual para autenticação, endpoints e limites de requisição. Siga as instruções de nova tentativa e cancele o trabalho restante quando o job terminar.
Afirme o comportamento após o recebimento
Em um ambiente de teste que você controla, confirme que a ação de verificação produz o estado de conta pretendido. Receber apenas uma mensagem não prova que seu link funciona. Mantenha tokens de autenticação e corpos de mensagem fora da saída comum de CI.
Torne as falhas diagnosticáveis
Distinga falha de envio da aplicação, ausência de mensagem correspondente antes do prazo, indisponibilidade do provedor e falha de asserção. Retenha timestamps e identificadores sanitizados, depois remova contas sintéticas e artefatos de email de acordo com a política de retenção de testes da equipe.