匹配响应执行状态
还是这个Controller。
上一节请求的结果是成功的,这次就来验证一下本次运行结果和预期值是否相同。
与真实值进行比较,成功测试通过,失败测试失败。
也就是下面的三步
@Test
void testStatus(@Autowired MockMvc mockMvc) throws Exception {
MockHttpServletRequestBuilder builder = MockMvcRequestBuilders.get("/books");
ResultActions action = mockMvc.perform(builder);
//设定预期值 与真实值进行比较,成功测试通过,失败测试失败
//1.定义本次调用的预期值
StatusResultMatchers status = MockMvcResultMatchers.status();
//2.isOk表示的是如果请求成功返回的状态码是200
ResultMatcher ok = status.isOk();//状态码200
//3.添加预计值到本次调用过程中进行匹配
action.andExpect(ok);
}
这里故意搞一个错的请求路径,然后观察控制台。
可以发现我们现在期望是200,但是真实的值是402,因为我们的请求路径是book,测试中却是books。
如果改回book是可以运行成功的。