Меню
Блог

Проектирование email-адаптера для конвейера QA-тестирования

Email-адаптер избавляет тесты от зависимости от формата ответа одного провайдера. Он должен предоставлять небольшой контракт, сохраняя при этом достаточно информации для диагностики сбоев.

Определите четыре операции

Возвращайте различимые результаты

РезультатЗначение
СовпадениеСообщение удовлетворяет правилам корреляции этого теста.
Истёк таймаутСовпадающее сообщение не было обнаружено до истечения срока.
Доступ отклонёнНе удалось проверить учётные данные или доступ к почтовому ящику.
Провайдер недоступенПочтовый сервис не смог завершить операцию.

Тестируйте адаптер независимо

Используйте фикстуры для проверки пагинации, пустых результатов, повторных попыток, некорректных ответов и отмены. Держите небольшую живую интеграционную проверку с ограничением частоты запросов для поведения, которое фикстуры не могут воспроизвести. Следуйте актуальному API-контракту провайдера, а не парсингу интерфейса почтового ящика.

Держите продуктовые проверки выше адаптера

Тест приложения должен решать, имеет ли приветственное сообщение правильного адресата или меняет ли процесс верификации ожидаемое состояние. Адаптер не должен молча объявлять эти бизнес-результаты успешными лишь потому, что письмо пришло.

Ознакомьтесь с актуальной документацией CleanTempMail API перед реализацией его адаптера, включая аутентификацию и лимиты использования.