【发布时间】:2011-09-01 22:02:26
【问题描述】:
我正在编写 JUnit 测试,并希望拥有一个始终成功的 Outlook 电子邮件收件人和一个始终无法投递的电子邮件收件人。
对于“总是成功”,我认为NUL: 的 SMTP 等效项会有所帮助。
(我不想使用我的真实电子邮件地址有两个原因:1)我不想每次有人运行测试台时都收到一封测试电子邮件,以及 2)我不想让回归测试开始失败如果我的雇主决定取消我的职位和电子邮件地址。)
对于“总是反弹”,我想我可以使用 im.a.nut@mycompany.com,但我愿意接受一种更可靠的技术,如果 Nut 先生加入 MyCompany,这种技术也不会中断。
除了“总是退回”之外,我将不胜感激有关如何以及在何处查找“系统无法投递”消息的任何想法。我应该使用测试电子邮件帐户吗?或者也许是一个模拟框架来模拟退回消息?
编辑:根据http://www.oracle.com/technetwork/java/faq-135477.html#bounce,退回消息是标准化的,但没有得到广泛实施。电子邮件地址验证独立于 JavaMail。以下是我如何回答最后一段中的问题。测试电子邮件帐户可能需要一些时间才能收到邮件,我不想阻止无法保证送达的邮件。模拟可能更有意义。
【问题讨论】:
-
@Bryanbcook 发布了关于使用模拟的出色答案。这似乎是反弹的正确方法。关于发送地址的任何想法总是会成功?
标签: unit-testing email junit outlook mocking