我想对一个Java应用程序进行单元测试,该Java应用程序从电子邮件收件箱中提取邮件,当前,我在易于设置的公司真实邮件服务器上的真实邮箱上运行单元测试,但有以下缺点:
我想在本地端口上启动IMAP服务器,该服务器根据与测试类一起存储在文件中的测试数据来伪造收件箱。我可以想到以下方法:
我想避免使用第一种方法,它看起来很简单,但是从类似的经验中我猜想,还有很长的路要走。只需考虑要测试安全连接等即可。类似地,第二个选项似乎需要很多工作,但是我还没有找到可以用于第三个选项的邮件服务器。
如果重要的话,我会在构建过程中使用Maven和TestNG。
Greenmail可能有用。
GreenMail是用于测试目的的电子邮件服务器的开放源代码,直观且易于使用的测试套件。通过SSL套接字支持支持SMTP,POP3,IMAP。