用于JUnit测试的可配置邮件服务器模拟?

时间:2011-11-03 12:26:41

标签: java email junit mocking javamail

我正在寻找一个可以配置为Mockito模拟对象的邮件服务器模拟器。 目前我们使用GreenMail作为邮件服务器模拟,但我想在我的单元测试中做这样的事情:

  
      
  • 如果主题xyz的邮件到达,请接受。
  •   
  • 如果主题为zz1的邮件到达,则暂时发送失败
  •   
  • 如果主题为fh2的邮件到达,则发送退回(未知收件人)。
  •   
  • .....
  •   

我可以看到,GreenMail无法做到这一点。 有谁知道一个可以做这样的事情的图书馆?

3 个答案:

答案 0 :(得分:1)

所以,最后我使用functionallity扩展greenmail以在x邮件之后关闭smtp服务器或在x邮件之后跳过接受smtp连接并减慢特定邮件的smtp处理。 谢谢你的回答。 可能我可以将我的更改推回到greenmail主干。我们会看到。

答案 1 :(得分:0)

我过去曾使用过“dumbster”(http://quintanasoft.com/dumbster/)并且效果很好。我刚刚检查了javadoc,我没有看到任何基于任意条件接受/拒绝消息的可配置功能,但它是开源的,因此可以直接添加此功能。

答案 2 :(得分:0)

我认识的人在他的代码库中成功使用了这个。这是Usman Saleem对上述问题的评论的基本更新链接。

https://github.com/voodoodyne/subethasmtp/blob/master/Wiser.md