单元测试
JUnit5
JUnit是最早接触也是最被熟知的Java单元测试框架
https://junit.org/junit5/docs/current/user-guide/#overview
mockito4
https://javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/Mockito.html
使用过程中区分@Mock与@injectMocks
@InjectMocks: 创建一个实例,简单的说是这个Mock可以调用真实代码的方法
其余用@Mock(或@Spy)注解创建的mock将被注入到用该实例中。
请注意:必须使用@RunWith(MockitoJUnitRunner.class)或Mockito.initMocks(this)初始化这些模拟并注入它们。
MockMvc
在对Controller进行测试时,希望能够通过输入URL对Controller进行测试,如果通过启动服务器,建立http client进行测试,这样会使得测试变得很麻烦,比如,启动速度慢,测试验证不方便,依赖网络环境等
引入了MockMVC对Controller测试更为方便
MockMvc基于springframework.test
步骤
MockMvcBuilder构造MockMvc的构造器;- mockMvc调用
perform,执行一个RequestBuilder请求,调用controller的业务处理逻辑; perform返回ResultActions,返回操作结果,通过ResultActions,提供了统一的验证方式;- 使用
StatusResultMatchers对请求结果进行验证; - 使用
ContentResultMatchers对请求返回的内容进行验证;
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Sher!