是否有可以模拟错误响应的测试SMTP服务器?

时间:2010-07-28 18:57:37

标签: java unit-testing smtp

我有一组与电子邮件相关的单元测试,目前正在使用Wiser作为测试SMTP服务器。它适用于基本的电子邮件测试(发送电子邮件,检查以确保收到它等),但我有逻辑,我想根据从SMTP服务器返回的错误响应重试失败的电子邮件发送。有没有人知道任何测试SMTP服务器支持绑定它们以规定的方式响应?优选地,可以由单元测试自己的纯Java服务器测试本身是最好的,但任何符合该法案的独立服务器都可以工作。感谢。

2 个答案:

答案 0 :(得分:1)

Kohsuke Kawaguchi为单元测试编写了一个JavaMail提供程序,我知道它支持一些错误条件模拟。您可以在此处查看:Mock JavaMail.

错误模拟非常简单。他说,

  

邮箱可以标记为“错误”   以编程方式,这会导致所有   发送/接收操作失败。   这可用于测试错误   处理应用程序的行为。

答案 1 :(得分:0)

滚动你自己。创建一个绑定到TCP端口(比如端口25)的Java类并监听流量是相当简单的。

曾几何时,我在端口80上执行了一些C#单元测试以模拟Web服务。

创建不同的功能,以您需要处理的各种方式进行响应,并且您已完成。它不需要是真正的SMTP服务器,因为这是一个单元测试。如果您遇到未经测试的情况,请添加更多测试。