2013-02-07 46 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

我已經錯過了這個方法。謝謝! –