小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

浙公网安备 33010602011771号