济南网站建设开发个人做淘宝客网站有哪些
2026/6/20 8:47:49 网站建设 项目流程
济南网站建设开发,个人做淘宝客网站有哪些,专业建设家电维修网站公司,表白二维码生成器Mock数据的含义 那么Mock数据是什么意思呢 首先Mock这个英文单词有模拟的意思#xff0c;模拟数据通俗的理解就是构造假数据#xff0c;即Mock数据就是通过构造假数据来达到测试的目的#xff0c;它广泛运用于功能测试、接口测试、单元测试 在功能测试中#xff0c;可以…Mock数据的含义那么Mock数据是什么意思呢首先Mock这个英文单词有模拟的意思模拟数据通俗的理解就是构造假数据即Mock数据就是通过构造假数据来达到测试的目的它广泛运用于功能测试、接口测试、单元测试在功能测试中可以先Mock某页面调用接口的返回字段的值使得页面获取到假数据方便测试页面展示效果在接口测试中若接口A为服务A当中的接口并依赖下游服务BC其中B服务及其不稳定则可以Mock服务B中接口的返回数据使得服务A能正常获取到假数据进而能够正常测试接口A有小伙伴可能有疑惑接口和服务这两者有什么区别一个服务里面一般是含有一个或多个接口一般情况下服务A只依赖服务B里面的某一个或几个接口但如果服务B不稳定就会导致整体服务B不可用因此服务A无法正常返回数据进而无法正常测试接口A这种情况下可以单独Mock 服务A 依赖 服务B的接口也可以创建一个完整的 Mock 服务B如果是搭建完整的Mock服务难度还比较大主要体现在下面两个方面1需要对该服务B非常了解因为我们测试当中一般是对被测服务A了解但下游服务B因为不是我们的被测对象往往不清楚它的调用逻辑2需要根据服务A的传参调用Mock 服务B返回动态的结果。比如没有传参或参数不对Mock 服务B就不能再返回正确的结果为了解决上面两大难题我们往往是需要进行契约测试引入契约文件记录服务B的请求和返回信息由于契约测试内容非常多本文暂不进行展开在单元测试中可以Mock 整个类或者是某个类当中的某个方法在单元测试中Mock数据一般有两种运用场景第一个场景是被测试对象依赖的对象构造复杂。比如Class A 依赖 class B、class B 依赖 class C此处我们想测试classA在没有mock的情况下就要去根据要求去构造classB、classC对象耗时耗力。在Mock的情况下我们可以直接Mock classB、C并通过设计其行为来实现测试classA的目的因为我们只是想测试class A的行为是否符合预期我们并不需要测试依赖的对象第二个场景是被测方法依赖的方法还未开发完成。即被测试方法所依赖的模块还没有开发完成而被测试对象需要需要依赖模块的返回值进行测试。也就是测试方法依赖了无法获取的下游数据。比如service中方法的测试需要dao中的访问数据库操作并获取其返回值但是我们还没有开发完成对应的dao方法我们就可以mock一个dao层的对象将其行为设置为当调用其中的某个方法时返回一个设好的固定值。这样我们对service的测试就可以不必受dao层的开发速度影响。也符合只对service方法逻辑进行测试除了我们测试工程师需要Mock数据外在整个需求开发初期后端开发一般会给前端开发提供API接口文档前端开发时常也会根据接口文档进行Mock接口的返回数据用于辅助开发前端页面为什么前端开发也要Mock数据呢这是因为在开发阶段往往前后端的开发是并行的这个时候由于后端还在正常开发当中无法提供真实的API服务给前端调用前端则根据接口文档当中的接口定义请求方式、请求参数、接口预期返回数据先进行Mock后端接口帮助完成自己的前端部分的开发工作直到后端开发完毕后前端再使用开发环境里真实API服务进行联调测试联调通过后提测给测试Mock数据的层级关系根据上面在单元测试、功能测试、接口测试的Mock数据的场景我们可以看出Mock数据的层级关系方法级mockmock的对象是一个函数方法调用类级mockmock的对象是一个类接口级mockmock的对象是一个API接口服务级mockmock的对象是整个服务在功能测试阶段一般是接口级Mock。在单元测试阶段则为方法级和类级Mock。在接口测试阶段一般则为接口级Mock或者服务级MockMock数据的工具与方法下面结合功能测试、接口测试、单元测试这三种测试场景讲解一下对应Mock数据的工具和方法功能测试在做功能测试时可使用Charles的Map Local功能进行Mock数据具体使用方法如下先抓包获取到接口信息可以看到其中有个ttl字段值为1右键菜单保存该接口响应结果到指定的路径下然后找到刚刚保存的响应结果文件一般为Json格式修改其中的ttl为2以达到Mock数据的目的修改后保存文件找到Charles顶部菜单栏Tools-Map Local功能进入后勾选Enable Map Local 打开Map Local的开关然后点击Add填入Map From的URL信息可以通过右键菜单Copy URL最后选择本地Map To 的文件这个文件就是我们刚刚修改的响应结果文件设置完毕后点击OK即可。最后我们验证一下效果再次访问刚才的URL通过抓包可以发现ttl字段的值已经变成2了大家可以根据需要利用这种方法去Mock 其他HTTP协议接口的返回数据。如果使用的是Fiddler抓包工具可以利用AutoResponder功能实现mock测试接口测试在接口测试中能用来Mock数据的工具就太多了下面列举一些常用工具1Postman 提供的Mock Servers功能Yapi平台的数据Mock功能2json-server用于模拟服务端接口数据的工具可以根据json数据建立一个完整的web服务3Mock.js在前端开发当中若前端使用的Vue框架则可以用Mock.js去Mock接口数据4moco框架在开发 Mock 服务的时候它提供了一种不需要任何编程语言的方式你可以通过撰写它约束的 Json 建立服务并通过命令启动对应的服务这就可以快速开发和启动运行你需要的 Mock 服务单元测试在单元测试当中各种编程语言一般都提供了用来帮助单元测试的Mock框架Java 的Mockito 、JMockit、PowerMock等Python的mock 模块是 Python 的测试框架 unittest 下的一个子包是单元测试的一个重要模块Go语言则可以使用Monkey Patch这个特性去Mock数据Monkey库是 Monkey Patch 的一个 Go 版本实现结束语本文给大家介绍了Mock数据的含义、工具和方法内容有点多大家慢慢消化本来想继续写一下单元测试当中Mock框架的具体用法一看都2000多字了那就留到下次吧其实是我懒最后下方这份完整的软件测试视频教程已经整理上传完成需要的朋友们可以自行领取【保证100%免费】​​​软件测试面试文档我们学习必然是为了找到高薪的工作下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料并且有字节大佬给出了权威的解答刷完这一套面试资料相信大家都能找到满意的工作。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询