【发布时间】:2012-08-29 22:27:51
【问题描述】:
有一个 Java 应用程序可以发送电子邮件通知,该通知由用户在 UI 上的更新触发。我正在尝试编写 JUnit 测试用例,通过寻找接收消息的方式来验证电子邮件是否已成功发送。
Dumbster 对我不起作用,因为它用于在测试程序本身中发送电子邮件和接收邮件。
如何测试此功能?非常感谢您的帮助。
-瓦迪拉杰。
【问题讨论】:
有一个 Java 应用程序可以发送电子邮件通知,该通知由用户在 UI 上的更新触发。我正在尝试编写 JUnit 测试用例,通过寻找接收消息的方式来验证电子邮件是否已成功发送。
Dumbster 对我不起作用,因为它用于在测试程序本身中发送电子邮件和接收邮件。
如何测试此功能?非常感谢您的帮助。
-瓦迪拉杰。
【问题讨论】:
首先,听起来您在谈论集成测试,而不是单元测试。
一次性设置:
由于谷歌使用机器人检测,这些步骤很难自动化。
测试用例:
有一些很好的 java-imap 库可以让 gmail 审讯变得非常容易。 以下是快速搜索的结果:
http://harikrishnan83.wordpress.com/2009/01/24/access-gmail-with-imap-using-java-mail-api/
【讨论】:
dumbster 的目的是删除外部电子邮件服务器。
如果这还不够,则建议您尝试测试电子邮件服务器和网络基础设施的功能。
这可能仅在您使用生产电子邮件服务和网络基础架构时才有意义 - 因为在测试环境中可能会以不同方式配置。
如果你确定你认为这是一个好主意,@Lithium 的建议方法是有道理的。
我们有一个用于测试环境的开发邮件服务器,与citadel 一起使用,测试人员可以让他们查看发送了哪些电子邮件。如果我要编写这个测试,我会使用内部邮件服务器而不是依赖谷歌。
【讨论】: