Отображение взаимодействий с аннотированным макетом @MockBean
В приложениях Spring можно писать тесты с фиктивными бинами, которые по умолчанию автоматически подключены и которые могут быть дополнительно настроены с помощью обычных методов Mockito. Для этого используется аннотация @MockedBean. Однако при использовании только Mockito без Spring можно настроить макеты для печати всех взаимодействий, см. Как использовать Mockito для отображения всех вызовов на макете. Возможна ли эта отладка также с бобовыми бобами?
1 ответ
Спринта не существует, но можно использовать mockingDetails(<some mock>)
Метод из Mockito, чтобы получить MockingDetails
макета, а затем распечатать взаимодействия. Поместите отладку в аннотированный метод @After, чтобы показывать его каждый раз, даже если тест не пройден.
import static org.mockito.Mockito.mockingDetails;
import org.junit.After;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.test.context.junit4.SpringRunner;
import com.fasterxml.jackson.core.JsonProcessingException;
@RunWith(SpringRunner.class)
@SpringBootTest(
public class MyTest {
@MockBean
LoginDAO loginDaoMock;
@Test
public void xyz() {
// some test
}
@After
public void showInteractions() {
System.out.println(mockingDetails(loginDaoMock).getInvocations());
}
}