Существуют ли тестовые SMTP-серверы, которые могут симулировать ответы об ошибках? - PullRequest
2 голосов
/ 28 июля 2010

У меня есть набор связанных с электронной почтой модульных тестов Java, которые в настоящее время используют Wiser в качестве тестового SMTP-сервера.Он отлично подходит для базового тестирования электронной почты (отправка электронной почты, проверка, чтобы убедиться, что она была получена и т. Д.), Но у меня есть логика, которую я хотел бы использовать для повторной попытки неудачной отправки электронной почты на основе ответа об ошибке, возвращенного с сервера SMTP.Кто-нибудь знает о каких-либо тестовых SMTP-серверах, которые поддерживают настраивание их для ответа предписанным способом?Предпочтительно, лучше всего будет использовать чистый Java-сервер, который может быть запущен самими модульными тестами, но любой автономный сервер, который отвечает всем требованиям, будет работать.Спасибо.

Ответы [ 2 ]

1 голос
/ 28 июля 2010

Kohsuke Kawaguchi написал провайдера JavaMail для модульных тестов, и я знаю, что он поддерживает некоторую симуляцию состояния ошибки.Вы можете взглянуть на это здесь: Mock JavaMail.

Симуляция ошибок довольно проста.По его словам,

Почтовый ящик можно пометить программно как «ошибку», что приводит к сбою всех операций отправки / получения.Это можно использовать для проверки поведения приложения при обработке ошибок.

0 голосов
/ 28 июля 2010

Сверните свое.Довольно просто создать Java-класс, который привязывается к порту TCP (например, к порту 25) и прослушивает трафик.

Когда-то я делал это на порте 80 для некоторых модульных тестов C # для имитациивеб-сервис.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...