Mockitojunitrunner не инициирует в Spring BootJAVA

Программисты JAVA общаются здесь
Anonymous
Mockitojunitrunner не инициирует в Spring Boot

Сообщение Anonymous »

у меня есть этот тест на JUNIT: < /p>
@RunWith(MockitoJUnitRunner.class)
class NotificationServiceTest {

private static final Long EMAIL_ID = 1L;
private static final Long ORGANISATION_ID = 1L;
private static final Long CHILD_ID = 456L;
private static final String SUBJECT = "Test Subject";
private static final String BODY = "Test Body";
private static final String RECIPIENT_EMAIL = "test@example.com";
private static final Long DOCUMENT_ID = 789L;
private static final String DOCUMENT_NAME = "test-document.pdf";
private static final byte[] DOCUMENT_CONTENT = "test content".getBytes();

@Mock private BackofficeMailBuilder mailBuilder;
@Mock private ParametreSystemeRepository systemeRepository; // Missing
@Mock private IMenageService menageService; // Missing
@Mock private IParentService parentService; // Missing
@Mock private EmailService emailService; // Missing
@Mock private EmailsDocumentRepository emailsDocumentRepository;
@Mock private DocumentRepository documentRepository;

@InjectMocks
private NotificationService notificationService;

private IEmailParam emailParam;
private Document document;

@BeforeEach
void setUp() {

emailParam = createMockEmailParam();
document = createMockDocument();

// Setup common mock behaviors
when(mailBuilder.subject(anyString(), any())).thenReturn(mailBuilder);
when(mailBuilder.body(anyString(), any())).thenReturn(mailBuilder);
when(mailBuilder.recipients(anyList())).thenReturn(mailBuilder);
when(mailBuilder.recipient(anyString())).thenReturn(mailBuilder);
when(mailBuilder.cc(anyList())).thenReturn(mailBuilder);
when(mailBuilder.bcc(anyList())).thenReturn(mailBuilder);
when(mailBuilder.multilingual(anyBoolean())).thenReturn(mailBuilder);
when(mailBuilder.translateSubject(anyLong())).thenReturn(SUBJECT);
when(mailBuilder.translateBody(anyLong())).thenReturn(BODY);
}
..
}
< /code>
Но когда я запускаю тесты, у меня есть эта ошибка: < /p>
java.lang.NullPointerException: Cannot invoke "com.daniaty.services.mail.BackofficeMailBuilder.subject(String, Object[])" because "this.mailBuilder" is null

at com.daniaty.services.impl.NotificationServiceTest.setUp(NotificationServiceTest.java:65)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)

org.mockito.exceptions.misusing.InvalidUseOfMatchersException:
Misplaced or misused argument matcher detected here:

-> at com.daniaty.services.impl.NotificationServiceTest.setUp(NotificationServiceTest.java:65)
-> at com.daniaty.services.impl.NotificationServiceTest.setUp(NotificationServiceTest.java:65)

You cannot use argument matchers outside of verification or stubbing.


Подробнее здесь: https://stackoverflow.com/questions/797 ... springboot

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