2010-07-28 95 views
2

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

回答

1

Kohsuke Kawaguchi为单元测试编写了一个JavaMail提供程序,并且我知道它支持一些错误条件模拟。你可以看看这里:Mock JavaMail.

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

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

+0

MockJavaMail未提供的可以被其他模拟对象模拟。 – 2015-04-02 00:06:23

0

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

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

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

+0

我目前没有使用真正的SMTP服务器。 Wiser(http://code.google.com/p/subethasmtp/wiki/Wiser)和类似的库(Dumbster)是用单元测试编写的。它们提供了有用的功能,例如收到的邮件计数,使测试邮件相关的代码相当简单。当然,这些信息从来没有真正去过任何地方。毫无疑问,我可以抓住Wiser的来源并添加我正在寻找的功能,但认为它们已经足够普遍,可能已经存在的东西可能已经存在。 – mreynolds0404 2010-07-28 19:39:57

相关问题