小D课堂 - 零基础入门SpringBoot2.X到实战_第4节 Springboot2.0单元测试进阶实战和自定义异常处理_18、SpringBoot测试进阶高级篇之MockMvc讲解
笔记
2、SpringBoot测试进阶高级篇之MockMvc讲解
简介:讲解MockMvc类的使用和模拟Http请求实战
1、增加类注解 @AutoConfigureMockMvc
@SpringBootTest(classes={XdclassApplication.class})
2、相关API
perform:执行一个RequestBuilder请求
andExpect:添加ResultMatcher->MockMvcResultMatchers验证规则
andReturn:最后返回相应的MvcResult->Response
开始代码
提前写好的类
@AutoConfigureMvc:帮助我们自动配置Mvc
把mockMvc注入进来以后,就相当于一个客户端了。需要发送请求。
在SampleController里面,加这样一个测试的方法。路径是/test/home
perform方法就是模拟一个请求。里面接受一个requestBuilder.
requestBuilder就是构建请求的构建体
requestBuilder是一个接口类型的
requestBuilder查看他的子类。
可以看到他有很多个子类。
我们这里选择的是MockMvcRequestBuilders,里面有很多的方法,post啊,put啊,patch啊
我们测试一个最简单的get 请求
status()里面 有很多的方法,
这里我们使用isOk()就表示成功了。
mvcResult里面有很多的方法,我们用的最多的就是getReponse();
getResponse()里面有获取状态码->getStatus()
获取状态码,输出状态码
测试我们的方法
这边就看到启动成功了
输出的状态是200
加断点
输入错误的地址进行测试
先把断言的这段代码去掉
断言的代码已经去掉
再次执行一下
查看mvcResult里面的mockResponse
当前的status是404。找不到请求的接口的地址4