白盒测试-发送请求-引出MockMvc源码类

白盒测试是什么?

一般是测开做白盒测试,研发做白盒

spring boot是和junit结合

原本是jmeter发请求,是看不到代码逻辑,有接口信息就可以实现

用测试代码发请求,能看到代码逻辑,比接口测试更全面,成为白盒测试

代码先运行后就有【WebApplicationContext】大容器

什么时候测试?

项目开发完毕,把开发代码从git仓库拉回到本地

两个都在idea里怎么发送请求?

@SpringBootTest,标记类上,此类就是测试类

@Test ,标记方法上,此方法是测试方法

添加测试类注解,看测试什么方法就添加这个方法的名称

MockMvc源码类

复制代码
发送请求+得到结果+响应断言

代码先运行后就有【WebApplicationContext】大容器,存放的各种容器的对象,先引入这个对象

目标是生成发送请求的对象MockMvc,所以需要用default的这个对象去调方法,如果没有就用父类

优化:

看源码,因为官方里的内容是所有static方法导入这种类,其中需要将这个方法的包导入,但易读性不好,所以还是以上的内容

复制代码
环境正常-controller层白盒测试相关
前提:项目开发完成 +把开发代码从git仓库拉回到本地idea中
步骤:
1.创建测试类+@springBootTest(测试类在src/test/java目录下创建)+@RunWith让测试代码运行起来
2.测试类下创建测试方法+@Test+开发测试代码
1⃣️创建发送请求的对象MockMvc
细节如下:
MockMvc + MockMvcBuilders + DefaultMockMvcBuilder +AbstractMockMvcBuilder(build()方法)=>生成MockMvc对象
 源码类:
 MockMvc
 作用:发送请求+得到结果+响应断言
 构造方法:MockMvc(TestDispatcherServlet servlet, Filter... filters) 被私有不能使用
 普通方法:
 public ResultActions perform(RequestBuilder requestBuilder)发送请求

context是为了和测试类做绑定

相关推荐
海棠一号2 分钟前
JAVA理论第五章-JVM
java·开发语言·jvm
eternal__day19 分钟前
Spring Cloud 多机部署与负载均衡实战详解
java·spring boot·后端·spring cloud·负载均衡
颜淡慕潇23 分钟前
Redis 实现分布式锁:深入剖析与最佳实践(含Java实现)
java·redis·分布式
程序员秘密基地29 分钟前
基于vscode,idea,java,html,css,vue,echart,maven,springboot,mysql数据库,在线考试系统
java·vue.js·spring boot·spring·web app
何中应30 分钟前
【设计模式-5】设计模式的总结
java·后端·设计模式
吾日三省吾码1 小时前
Spring 团队详解:AOT 缓存实践、JSpecify 空指针安全与支持策略升级
java·spring·缓存
风象南1 小时前
SpringBoot的5种日志输出规范策略
java·spring boot·后端
咖啡啡不加糖1 小时前
深入理解MySQL死锁:从原理、案例到解决方案
java·数据库·mysql
zimoyin1 小时前
Compose Multiplatform 实现自定义的系统托盘,解决托盘乱码问题
java
啾啾Fun2 小时前
【Java微服务组件】分布式协调P4-一文打通Redisson:从API实战到分布式锁核心源码剖析
java·redis·分布式·微服务·lua·redisson