Я отправляю электронное письмо с помощью шаблонного двигателя 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
Как протестировать шаблон двигателя при стилизации электронных писем с Junit и Mockito, Spring Boot ⇐ JAVA
Программисты JAVA общаются здесь
1738046465
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>
Подробнее здесь: [url]https://stackoverflow.com/questions/73808058/how-to-test-template-engine-while-styling-emails-with-junit-and-mockito-spring[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия