有一个 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一起用于测试人员,以允许他们查看发送了哪些电子邮件。如果我要编写这个测试,我会使用内部邮件服务器而不是依赖谷歌。