Mailserver Mock для интеграционных тестов внутри груза
-
16-10-2019 - |
Вопрос
У меня есть веб -приложение, которое я в настоящее время тестирую на разных уровнях (тесты JUNIT, интеграционные тесты в грузовом контейнере, управляющий Tomcat, Htmlunit и т. Д.), И я сейчас сталкиваюсь с проблемой.
С некоторой входной информацией, мое веб-приложение генерирует zip-файл, который я могу загрузить после того, как процесс создания его завершена. По крайней мере, не было никаких проблем с тестированием различных вариантов использования с HTMlunit и грузовым контейнером, запускающим все приложения и бэкэнды, необходимые внутри одного Tomcat.
Новая версия моего веб-приложения-отправка (javax.mail) сгенерированный файл в настроенный адрес электронной почты (я отправлял эту почту вручную), но я не могу понять, как интегрировать тестирование, что он отправляет и если это преуспел.
Есть ли какой-нибудь макет-mockserver или STH, как я могу легко запустить в своем контейнере для тестирования груза, настроить его в моем приложении и утверждать все полученные он почты?
Я не хочу использовать статический почтовый сервер, работающий за пределами моей области тестирования, потому что существуют различные среды, которые эти тесты должны проходить внутри (разработка, Гудзон, интеграция-среда и т. Д.), И я буду зависеть от его состояния и доступности.
Если нет, то есть ли другие решения? большое тебе спасибо.
Решение
Я бы пошел Дамбстер. Анкет Это Поддельный SMTP -сервер с API Вы можете запросить, чтобы узнать, какие сообщения были отправлены.
Вы можете начать его в начале теста и проверить отправленные сообщения в конце. (Нет необходимости развернуть его в грузе)