Как протестировать шаблон двигателя при стилизации электронных писем с Junit и Mockito, Spring BootJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как протестировать шаблон двигателя при стилизации электронных писем с Junit и Mockito, Spring Boot

Сообщение Anonymous »

Я отправляю электронное письмо с помощью шаблонного двигателя Thymeleaf. Когда я не использовал Thymeleaf, тесты почтовых устройств работали идеально, но после того, как я добавил Thymeleaf, тесты продолжают давать мне NullPointerException.
Вот мой код из AplectService: < /p>
private JavaMailSender javaMailSender;
private TemplateEngine templateEngine;

public EmailServiceImpl(JavaMailSender javaMailSender, TemplateEngine templateEngine){
this.javaMailSender = javaMailSender;
this.templateEngine = templateEngine;
}

@Override
public void sendEmail(Employee employee,String email) throws MessagingException {
Context context = new Context();
context.setVariable("employee",employee);

String process = templateEngine.process("/email",context);

MimeMessage message = javaMailSender.createMimeMessage();
MimeMessageHelper helper;
helper = new MimeMessageHelper(message, true);
helper.setTo(email);
helper.setSubject("Hello "+employee.getName());
helper.setText(process,true);
javaMailSender.send(message);

}

< /code>
И вот мой тест: < /p>
@Autowired
TemplateEngine templateEngine;

static Context context;

@Mock
private JavaMailSender javaMailSender;

@InjectMocks
private EmailServiceImpl emailServiceImpl;

private MimeMessage mimeMessage;
private MimeMessageHelper helper;
private String email;

Employee employee;
String process;

@BeforeEach
public void setUp() throws MessagingException {

employee = new Employee("John Smith",
20.0,"AB243", "A","B",
LocalDateTime.now().plusDays(2),20);

mimeMessage = new MimeMessage((Session)null);

email = "someone@gmail.com";
context = new Context();
process = templateEngine.process("/email",context);
helper.setText(process,true);

}

@Test
public void emailTest() throws MessagingException {
when(javaMailSender.createMimeMessage()).thenReturn(mimeMessage);
String recipient = email;
emailServiceImpl.sendEmail(employee,email);
assertEquals(recipient, mimeMessage.getRecipients(MimeMessage.RecipientType.TO)[0].toString());
}
< /code>
Поэтому я попробовал автоматическую разборку шаблона, я попытался просто инициализировать его, я попытался установить свойства помощника, но ничего не сработало.
Кто -нибудь знает, как зафиксировать эту проблему? Br /> Спасибо! < /p>

Подробнее здесь: https://stackoverflow.com/questions/738 ... ito-spring
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»