Я пытаюсь автоматически связать два объекта из контекста, но, похоже, получаю исключение Nullpointer для обоих Configuraiton
и JavaMailSender
, что я мог упустить. Если я выполняю автопровод только EmailService
, он работает правильно, однако мне нужно передать фиктивный объект конструктору, поэтому я продолжаю в том же духе, что и сейчас. Если я аннотирую свой EmailService
объект с помощью @Autowire
, он будет работать.
@SpringBootTest
public class EmailServiceTest {
@Autowired
private Configuration configuration;
@Autowired
private JavaMailSender javaMailSender;
private AuthUser authUser = Mockito.mock(AuthUser.class);
private EmailService emailService = new EmailService(javaMailSender,configuration,authUser);
@Test
public void testSendAttachment() throws IOException {
List<Attachment> attachments = new ArrayList<>();
attachments.add(new Attachment(new Archive(TestData.getDocs(), "test").getZipArchive(), "documents.zip"));
attachments.add(new Attachment(new Archive(TestData.getDocs(), "test").getZipArchive(), "documents2.zip"));
Email mail = new Email("a",
"b",
"Requested archive attached",
"Thank you for using our services, please refer to the attached archive", attachments);
emailService.sendMailWithAttachment(mail);
}
@Test
public void shouldSendConfirmationEmail(){
Mockito.when(authUser.getUsername()).thenReturn("email@email.com");
emailService.sendConfirmationToCooperateEmail();
}