ContactDTO cDto = new ContactDTO();
cDto.setTitle("Mr");
cDto.setFirstName("Pritam");
cDto.setLastName("Mohapatra");
cDto.setTelephone("9439586575");
cDto.setEmail("[email protected]");
cDto.setBetreff("test value");
cDto.setAnfrage("test value");
MessageTemplate messageTemplate=new MessageTemplate();
messageTemplate.setBody("Hallo ${name}.<br><br> want to contact ");
messageTemplate.setSubject("Refernce email");
when(emailProperties.getContactMsgKey()).thenReturn("4");
String key = "4";
when(messageTemplateService.getMessageTemplateById(key)).thenReturn(messageTemplate);
when(emailProperties.getAdminTo()).thenReturn("[email protected]");
//String key = "3";
//when(messageTemplateService.getMessageTemplateById(key)).thenReturn(messageTemplate);
String to=emailProperties.getAdminTo();
String subject =messageTemplate.getSubject();
String body =messageTemplate.getBody().replace("${name}", cDto.getFirstName());
String contentType="text/html";
doThrow(NullPointerException.class).when(emailService).sendEmail(to, subject, body, contentType);
emailService.sendEmail(to, subject, body, contentType);
I am getting NullPointerException on Running JUnit Test. What am I
doing wrong?
I am using this for email sending.
@Before
public void init() {
emailService = mock(EmailServiceImpl.class);
messageTemplateService =mock(MessageTemplateService.class);
emailProperties=mock(EmailProperties.class);
emailService.setEmailProperties(emailProperties);
emailService.setMessageTemplateService(messageTemplateService);
}
- here is my @before method:
I think you triger yourself the
NullPointerException
because of:This instruction tells Mockito to throw a
NullPointerException
when you call thesendEmail
method on theemailService
which is what you do directly after by calling: