2016-03-04 18 views
-1

我有一個類JavaMailDao,我想測試使用JUnit和mockito。我想測試的捕捉部分與mockito DoThrow MailException

try { 
      this.mailSender.send(msg); 
    } catch(MailException ex) { 
      throw new BackendException(DaoExceptionType.EMAIL_ERROR); 
} 

在測試中,我有這樣的:

Mockito.doNothing().doThrow(new MailException()).when(this.mailSenderMock).send(Mockito.any(SimpleMailMessage.class)); 

這是它說的問題:「不能實例類型MailException」,和我有進口過順便一提。

mport org.springframework.mail.MailException; 

有誰知道該怎麼做?謝謝!

回答

3

MailException是一個抽象類。抽象類不能被實例化,所以實例化它的一個子類,如MailSendException

解決方案:

Mockito.doNothing().doThrow(new MailSendException("Test message")).when(this.mailSenderMock).send(Mockito.any(SimpleMailMessage.class));` 

獲取更多信息和合適的子類見the Spring Framework docs