对Spring MVC接口进行Mock测试( 三 )

获取返回结果如果你希望进一步处理响应的结果 , 也可以通过ResultActions#andReturn()拿到MvcResult类型的结果进行进一步的处理 。
完整的测试过程通常andExpect是我们必然会选择的 , 而andDo和andReturn在某些场景下会有用 , 它们两个是可选的 。 我们把上面的连在一起 。
@AutowiredMockMvc mockMvc;@SneakyThrows@Testvoid contextLoads() {mockMvc.perform(MockMvcRequestBuilders.get("/foo/user").param("name", "felord.cn").param("age", "18").header("Api-Version", "v1")).andExpect(ResultMatcher.matchAll(status().isOk(),content().contentType(MediaType.APPLICATION_JSON),jsonPath("$.version", Is.is("v1")))).andDo(MockMvcResultHandlers.print());}这种流式的接口单元测试从语义上看也是比较好理解的 , 你可以使用各种断言、正例、反例测试你的接口 , 最终让你的接口更加健壮 。
5. 总结一旦你熟练了这种方式 , 你编写的接口将更加具有权威性而不会再漏洞百出 , 甚至有时候你也可以使用Mock来设计接口 , 使之更加贴合业务 。 所以CRUD不是完全没有技术含量 , 高质量高效率的CRUD往往需要这种工程化的单元测试来支撑 。 好了今天的分享就到这里 , 我是:码农小胖哥 , 多多关注 , 多多支持 。
【对Spring MVC接口进行Mock测试】点击了解更多更加精彩 。


推荐阅读