前言
在springboot的开发中需要编写单元测试,实际应用mockmvc的使用非常频繁,Mockito 是一种 Java Mock 框架,主要是用来做 Mock 测试,Mockito 是一个非常强大的框架,可以在执行单元测试时帮助我们模拟一个Bean,提高单元测试的稳定性
引入jar包
代码语言:javascript复制 <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
该依赖内就有包含了 JUnit、Mockito
代码语言:javascript复制@SpringBootTest
@AutoConfigureMockMvc
public class MockmvnDemo {
@Autowired
MockMvc mockMvc;
@Test
public void demo1() throws Exception {
String url = "/hello";
this.mockMvc.perform(MockMvcRequestBuilders.get(url)).andExpect(MockMvcResultMatchers.status().isOk());
}
}
debug启动时就能进入到对应的方法中了
Mockito 的限制
当使用 Mockito 在 Mock 对象时,有一些限制需要遵守:
- 不能 Mock 静态方法
- 不能 Mock private 方法
- 不能 Mock final class
因此在写代码时,需要做良好的功能拆分,才能够使用 Mockito 的 Mock 技 术,帮助我们降低测试时 Bean 的耦合度。