2013-02-07 45 views
1

我需要测试将利用春节MailSender例如电子邮件批一些组件MailSendException。 “送”的方法抛出一个MailSendException时没有很好地形成所提供的目标地址,像myAddressgmail.com(请注意,我不假装我的SMTP服务器知道地址在目标主机是否真的存在,只是在谈论结构)。事实上,这是使用我真正的smtp服务器时发生的情况。产生用假SMTP服务器

嘲笑我试过Dumbster和讹诈,在这里出现的问题的SMTP服务器。这些假冒的SMTP服务器不检查地址以及形成的,所以MailSendException不会抛出。我需要抛出这个异常来测试异常处理。

+0

应该很容易修改Dumbster如果看到某种类型的地址返回一个错误。 –

+1

见我的回答http://stackoverflow.com/questions/8599791/a-simple-local-smtp-server/22043597#22043597 –

回答

1

使用嘲讽库像MockitoEasyMock

然后,你可以这样做:

MailSender mockSender = mock(MailSender.class); 
YourSMTPServer server = new YourSMTPServer(mockSender); 

when(mockSender.send(...)).thenThrow(new MailSendException(...)); 

// then invoke the method on your server that calls MailSender.send() and 
// assert it does what you want it to do when an exception is encountered 
+0

我已经错过了这个方法。谢谢! –