【问题标题】:Showing Interactions with @MockBean Annotated Mock显示与 @MockBean 带注释的 Mock 的交互
【发布时间】:2017-07-03 10:05:45
【问题描述】:
【问题讨论】:
标签:
spring
testing
mockito
【解决方案1】:
没有 Sprint 原生方式,但可以使用 Mockito 的 mockingDetails(<some mock>) 方法来检索模拟的 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());
}
}