邮件服务器模拟货物内的集成测试

时间:2011-01-21 13:42:37

标签: java integration-testing mail-server maven-cargo

我有一个Web应用程序,我目前正在不同级别上进行测试(junit测试,运行tomcat的货柜中的集成测试,htmlunit等),我现在面临一个问题。

通过一些输入信息,我的Web应用程序正在生成一个zip文件,我可以在创建它的过程完成后下载。至少用htmlunit测试不同的用例是没有问题的,并且货物容器在单个tomcat中启动所有应用程序和后端。

我的Web应用程序的新版本正在将生成的文件(javax.mail)发送到已配置的电子邮件地址(我之前手动发送过该邮件),但我无法弄清楚如何集成测试它发送的内容如果成功了。

是否有任何模拟邮件服务器或类似我可以轻松地在我的货物测试容器内运行,在我的应用程序中配置它并断言它收到的所有邮件?

我不想使用在我的测试区域外运行的静态邮件服务器,因为这些测试必须在不同的环境中运行(开发,哈德森,集成环境等),我将依赖于它的状态和可用性。

如果没有,是否还有其他解决方案?非常感谢你。

1 个答案:

答案 0 :(得分:3)

我会去Dumbster。这是一个带有 API 虚假SMTP服务器,您可以查询以查找已发送的邮件。

您可以在测试开始时启动它,并在结束时检查已发送的消息。 (无需将其部署在货物中)