Mockito是一款用于java开发的mock测试框架,当测试中需要模拟外部数据时,Mockito 可以帮助我们创建和管理这些模拟对象。
引入maven依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
依赖spring-boot-starter-test,内部包含Mockito
代码解析
@MockBean
private ExternalDependency externalDependency;
@Autowired
private MyService myService;
@Test
public void testSomeMethod() {
Mockito.when(externalDependency.someMethod()).thenReturn("Mocked Result");
String result = myService.someMethod(any());
Mockito.verify(externalDependency).someMethod();
assertEquals("Mocked Result", result);
}
使用@MockBean
创建一个模拟的Bean实例,并将其注入到测试类的依赖项中;
使用Mockito.when(externalDependency.someMethod(any())).thenReturn("Mocked Result");
进行方法测试;
在使用Mockito.when
时,可以使用any()
方法来匹配任意类型的参数作为入参;
使用verify()
查询方法调用情况,不仅验证方法是否被调用,还可以验证调用的次数、顺序等。