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

news2024/9/22 3:59:09

白盒测试是什么?

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

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是为了和测试类做绑定 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2037229.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大恒相机通过Line2或Line3直接给出3.3V触发,形成分时曝光

大恒相机通过Line2或Line3直接给出3.3V触发,形成分时曝光 一、分时曝光需求二、3.3V信号分时曝光设计 写在前面 上班了,没多少时间再去精度论文了,大多是项目上的事情。 一、分时曝光需求 一般的12V光源通过光源控制器与大恒相机Line1线连接…

PDF转换器推荐:轻松将图片批量转为PDF

高质量的图片与文档管理已经逐渐成为了我们日常工作中不可或缺的一部分。为了防止图片在传输的过程中被压缩,我经常将他们转换为PDF格式。这次我给你推荐几个我常用的图片转PDF的小工具吧。 1.福昕PDF转换大师 链接一下>>https://www.pdf365.cn/pdf2word/ …

关于自己部署AI大模型踩的坑(一)——硬件篇

最近一直在研究如何打算属于我自己的J.A.R.V.I.S.(钢铁侠中的机器人管家)。 上一篇写了我最近在部署自己的大模型,使用llama3.1, 和通义千问2。虽然最终结果也是成功了,过程却十分地坎坷。 所以这一篇文章一是总结其中…

keepalived基础

目录 1 高可用集群简介 1.1 高可用的概念 1.2 常见的 HA 集群 1.3 高可用集群软件 2 keepalived的功能与用途 2.1 LVS directors failover功能 2.2 LVS cluster nodes healthchecks功能 3 VRRP协议介绍 4 Keepalived 架构 5 原理总结 1 高可用集群简介 1.1 高可用的概念 高可…

数据埋点系列 5|数据驱动决策:形成数据驱动文化

在过去的几篇文章中,我们深入探讨了数据埋点、数据质量保证、数据分析和可视化等主题。现在,让我们站在更高的视角,讨论如何将这些技术和方法整合到实际的业务决策中,以及如何在组织中建立真正的数据驱动文化。 目录 1. 回顾&am…

Github 2024-08-14 C开源项目日报Top10

根据Github Trendings的统计,今日(2024-08-14统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量C项目10Objective-C项目1PHP项目1Python项目1PHP:流行的Web开发脚本语言 创建周期:4710 天开发语言:C, PHP协议类型:OtherStar数量:37340 …

【Pyspark-驯化】一文搞懂Pyspark修改hive表描述以及增加列使用技巧

【Pyspark-驯化】一文搞懂Pyspark修改hive表描述以及增加列使用技巧 本次修炼方法请往下查看 🌈 欢迎莅临我的个人主页 👈这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合,智慧小天地! 🎇 相关内容文档获取 微…

C++11 STL中的Vector使用细节

容器 支持泛型 Vector常用成员函数示例迭代器操作插入和删除操作 与find 配合:vector 一些复杂操作 Vector 的内存管理策略压入对象 需要无参构造.压入对象指针 高效插入和删除 迭代器失效 代码优化: 二维及多维空间生成 容器 支持泛型 vector<int> vi;vector<double…

中国数据库的前世今生:披荆斩棘,乘风破浪

文章目录 前言国外数据库技术蓬勃发展中国信息化起步与发展&#xff08;数据库技术探索&#xff09;国外数据库商战策略解决燃眉之急学习先进技术 数据库技术的新格局雷声大雨点小的千年虫新型数据库的诞生国产数据库展露头脚 开源助力国产数据库弯道超车去“IOE”化大数据席卷…

使用OIDC登录kubesphere遇到的坑细节

1.通过代理telepresence到本地调试&#xff0c;使用默认账号密码&#xff0c;提示账号密码错误。 2.kubesphere在sso登录的时候&#xff0c;提示签名错误&#xff0c;其实这个错误不是很明确&#xff0c;所以要到本地调试&#xff0c;找到根本原因。 # 错误1 Tnauthorized: fa…

《Linux运维总结:基于ARM64架构CPU使用docker-compose一键离线部署etcd 3.5.15容器版分布式集群》

总结&#xff1a;整理不易&#xff0c;如果对你有帮助&#xff0c;可否点赞关注一下&#xff1f; 更多详细内容请参考&#xff1a;《Linux运维篇&#xff1a;Linux系统运维指南》 一、部署背景 由于业务系统的特殊性&#xff0c;我们需要面对不同的客户部署业务系统&#xff0…

skywalking架构

1.整体架构 整个架构&#xff0c;分成上、下、左、右四部分&#xff1a; 在SkyWalking中&#xff0c;trace 数据和 metrics 数据是两种关键的监控数据类型&#xff0c;它们帮助你理解应用的运行状态、性能瓶颈和故障点 1.1Trace 数据 Trace 数据是分布式追踪数据&#xff0c;它…

【原创】java+springboot+mysql学业跟踪指导管理系统设计与实现

个人主页&#xff1a;程序猿小小杨 个人简介&#xff1a;从事开发多年&#xff0c;Java、Php、Python、前端开发均有涉猎 博客内容&#xff1a;Java项目实战、项目演示、技术分享 文末有作者名片&#xff0c;希望和大家一起共同进步&#xff0c;你只管努力&#xff0c;剩下的交…

Centos7安装jdk1.6(jdk-6u45-linux-x64.bin)

目录 一&#xff0c;查看是否安装jdk&#xff1a;二&#xff0c;下载安装文件&#xff1a;三&#xff0c;开始安装a. jdk-6u45-linux-x64-rpm.bin文件安装&#xff1a;b. jdk-6u45-linux-x64.bin文件安装【建议安装此文件】&#xff1a; 四&#xff0c;配置环境变量&#xff1a…

37.docker拉取镜像失败和创建mysql5.6容器

问题 docker pull 拉取镜像文件超时&#xff0c;网络连接不上。 解决方案 在/etc/docker目录下创建daemon.json文件。 文件内容为&#xff1a; { "builder": { "gc": { "defaultKeepStorage": "20GB", "en…

计算机视觉-CS231n

Image classifcation knnRegularizationBack PropagationNeural NetworksConvolutional Networks Training Neural Networks Deep learning 、CNN、RNN Detection and segmentation Visualizing and understanding GAN、Reinforcement learning Generative models

城市信息模型:构建未来智慧城市之基底座

在智慧城市的宏大叙事中&#xff0c;城市信息模型&#xff08;City Information Model, CIM&#xff09;平台如同城市智能的神经中枢&#xff0c;将数据、空间与技术深度融合&#xff0c;为城市规划、管理、服务、居民生活提供了前所未有的洞察与优化途径。CIM平台的构建不仅是…

【Python系列】txt文件读取操作

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

使用mybatis注解和xml映射执行javaWeb中增删改查等操作

Mapper接口 使用注解执行SQL语句操作和相应的Java抽象类&#xff08;对于简单的增删改查使用注解&#xff09; Mapper public interface EmpMapper {// 根据id删除员工信息Delete("delete from mybatis.emp where id#{id}")public int EmpDelete(Integer id);// 查…

2024年最新版小程序云开发数据模型的开通步骤,开始开发微信小程序前的准备工作,认真看完奥!

小程序官方又改版了&#xff0c;搞得石头哥不得不紧急的再新出一版&#xff0c;教大家开通最新版的数据模型。官方既然主推数据模型&#xff0c;那我们就先看看看新版的数据模型到底是什么。 一&#xff0c;什么是数据模型 数据模型是什么 数据模型是一个用于组织和管理数据的…