前端测试开发工具mock的使用(前端moke)

网友投稿 956 2023-04-12


本篇文章给大家谈谈前端测试开发工具mock的使用,以及前端moke对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享前端测试开发工具mock的使用的知识,其中也会对前端moke进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

Mock.js使用

Mock.js 是用来模拟产生一些虚拟的数据,可以让前端在后端接口还没有开发出来时独立开发。我们可以使用真实的url,mockjs可以拦截ajax请求,返回设定好的数据。

可以在src目录下新建mock文件夹,新建index.js文件。在index.js文件中建立虚拟数据。

如果需要使用虚拟数据,就在main.js入口文件中导入mockjs文件。

Mock.setup( settings ): 配置拦截 Ajax 请求时的行为。

Mock.mock( template ): 根据数据模板生成模拟数据。template表示数据模板,可以是对象或字符串。数据模板中的每个属性由 3 部分构成:属性名、生成规则、属性值。
'name|rule': value : 属性名 name、生成规则 rule、属性值 value。属性名 和 生成规则 之间用竖线 | 分隔。
'name|min-max': array: 当属性值是数组 Array。通过重复属性值 array 生成一个新数组,重复次数大于等于 min,小于等于 max。
'name|+1': number: 当属性值是数字 Number。属性值自动加 1,初始值为 number。

占位符: 用 @ 来标识其后的字符串是 占位符。占位符 引用的是 Mock.Random 中的方法。
@cname: 随机生成一个常见的中文姓名。
@ctitle( min, max ): 随机生成一句中文标题。默认值为 3 到 7 之间的随机数。
@integer( min, max ): 返回一个随机的整数。min是最小值,max是最大值。

Mock.mock( rurl, rtype, function( options ) ): 记录用于生成响应数据的函数。当拦截到匹配 rurl 和 rtype 的 Ajax 请求时,函数 function(options) 将被执行,并把执行结果作为响应数据返回。

此时,前台向后台发送请求,会获取到mokejs虚拟数据,而不是真实的后台数据。

使用postman的mock server

【前情提要】

作为测试工程师,在日常工作中遇到和三方对接的项目,三方开发进度不理想,导致无法进行联调测试,基于此,开始学习与前端测试开发工具mock的使用了解mock服务

【吸收】

经过资料查询,实操验证之后,汇总成如下自前端测试开发工具mock的使用我理解前端测试开发工具mock的使用

1.正常自己公司的项目里面,会有一个config文件,里面会配置相关第三方调用接口的地址:ip:port//,具体的URL中的path会统一在接口文档中给出,描述三方提供的接口信息,包括(接口说明、接口路径(path)、请求参数、返回数据格式等),具体项目中调用哪些三方接口,则在项目程序里再去规定。

2.mock的意义,简单来说在于模拟第三方接口的返回,用于前端测试开发工具mock的使用我们项目的前端调试,或者接口与接口之间的调用调试。

3.基于此,我们可以使用postman工具的mock server功能,来模拟第三方接口,既然模拟前端测试开发工具mock的使用了第三方的所有接口,那么我们在得到mock server的地址(IP2:port2)后,需要在自己项目的config文件中,把配置的第三方调用接口的地址(ip:port),修改成mock server的地址(IP2:port2)。这样程序在运行后,本来调用第三方的地址,才能够走到我们的mock server中,模拟我们配置好的接口返回的数据。

( 注 :1.在测试完成后,项目上线之前,需要检查配置文件的地址,是否修改为正确的三方地址。2.出于测试完整性,临时使用mock地址后,三方接口完成开发后,需要修改回正确的三方地址,进行联调测试)

4.postman的mock server 使用步骤:

a.注册postman账号

b.可新建一个space来单独管理mock
d.在环境变量里添加相应的变量,主要包括mock server 的服务地址(即:IP2:port2),以及属于自己账号下的api keys(获取方式需要登录postman官网)

e.给mock server里添加相应的接口,并增加相应的EXAMPLE

f.mock添加对应的接口后,因mock server是联网的,故不受内外网环境的限制,在任何网络环境下,都可配置你自己的mock server地址,进行测试。

前端 API 接口数据模拟 (Mock)

在前端开发前端测试开发工具mock的使用的过程中前端测试开发工具mock的使用,会碰到以下一些问题:

前端测试开发工具mock的使用了解决此类问题,需要使用 mock 数据和 mock 服务器来提供支持。

很多前端框架,如 Reactor、 Angular、Vue 等都带有 mock 服务,以方便开发,这里介绍的是一个独立的小工具,可以在开发者自己的机器上方便的部署和运行,模拟后端接口的返回,以方便前端模拟各种数据。特性如下:

该数据即 files 目录下面 _api_heartbeat_get.json 的内容。

直接按快捷键 CTRL+C 来停止。

GET api/heartbeat 映射到 files_api_heartbeat_get.json

POST api/user/create 映射到 files_api_user_create_post.json

GET api/user?pseudo=1 映射到 files_api_user_get_1.json
POST api/course?pseudo=2 映射到 files_api_course_post_2.json

python单元测试--mock

使用mock,可以将某个函数所依赖的对象或者变量mock掉,从而降低测试条件的负责度。如下所示:

上述是mock对象的简单使用方法,通过实例化一个Mock对象从而模拟掉原始函数的返回值,高级一些的用法就是通过mock.patch装饰器,装饰在类或者函数上进行模拟测试,如下在test.py文件中有两个类:

测试用例设计如下:

以上测试用例说明,通过patch装饰器模拟了 test.ProductionClass1 这个类,在 test_01 中使用 mock_class 模拟 test.ProductionClass1 。首先通过 mock_class.return_value 获取类实例(如果模拟的是函数,则不需要这一步),然后通过 obj1.pro1_method.return_value 设置方法的返回值,并进行测试。测试结果说明无论是通过 mock_class 还是 test.ProductionClass1 还是 obj1 执行方法,获取到的结果都是设置的值,并且在另一个类中调用模拟类的方法,也能成功获取到设置的 return_value 。

mockjs 使用简介

在前后端分离的开发模式中,数据需要通过 http 请求异步从服务器端获取,也就是前端开发需要依赖后端接口,如果不能时时保证数据获取通畅,就会造成开发阻塞。这时前端需要一种方式可以来模拟数据请求,从而更多的掌握主动权独立开发项目, mockjs 可以以无侵入的方式拦截 ajax 请求,通过模拟服务器端响应来返回数据

JSRUN

Mockjs 语法规范由数据模板定义规范和数据占位符定义规范组成,在官网的 示例文档 中提供了丰富的模板定义方法,可点击查看

Mockjs 实现的原理是对 XHR 对象的拦截,属于 js 拦截,并没有通过浏览器发出请求,所以一般会碰到以下问题。

为了处理以上问题,引入集成了 mockjs 的 mock server工具 easy-mock ,注册并登录 easy-mock 官网后,会有一个演示项目提供参考,参考演示项目可以轻松创建自己的项目,如下图

创建项目后可以基于当前项目创建请求接口,如下图,创建一个 url 为 \user 的 get 请求,会生成接口为 https://www.easy-mock.com/mock/5b97a508b158375129f1b724/hello/user 的完整地址,点击 用户列表 可查看返回数据,由于 easy-mock 内部集成了 mockjs ,所以在生成数据时可以采用mockjs数据模板来生成,把基础用法中的数据生成模板粘贴过来,可以生成相同数据
浏览器限制跨域访问,所以要访问到接口数据,还需要解决跨域问题,通过 Nginx 解决跨域我在另外一片文章有讨论过,点击可以可查,下面主要介绍下通过 webpack-dev-server 设置代理

假设本地请求的根路径为 http://localhost:8080 ,通过 ajax 请求 用户列表 的完整接口为 http://localhost:8080/proxy/user , webpack-dev-server 通过代理方式将请求转发到我们在 easy-mock 中定义的接口 https://www.easy-mock.com/mock/5b97a508b158375129f1b724/hello/proxy/user ,此时接口地址中多了个代理标志 /proxy , 通过配置参数 pathRewrite: {'^/proxy': ' '} 将 /proxy 去掉即可。

测试人员怎么理解mock的作用?

1,首先在软件测试实际应用当中,有许多场景都需要使用mock功能来代替不需要测试的依赖接口。
如:获取验证码,支付等接口
2,可以加深对测试的理解,深入明白测试“输入”和“输出”的不同表达形式,帮助我们掌握测试的核心。
3,最后,学会mock测试后,可以提高自身的技术,脱离功能测试对开发的依赖,成为团队的核心之一。
总之,mock是一个比较好用的功能,如果能学会mock技术,在团队中,可以独立维护一个mock服务器,成为团队技术不可缺少的一部分,也是获取高薪的附加技能之一。
黑马程序员公开课上就有讲到这个。 关于前端测试开发工具mock的使用和前端moke的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 前端测试开发工具mock的使用的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于前端moke、前端测试开发工具mock的使用的信息别忘了在本站进行查找喔。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:dubbo 接口自动化测试(测试dubbo接口工具)
下一篇:关于Poi读取Excel引发内存溢出问题的解决方法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~