过一遍Mock数据~

一. 怎么mock数据?

1) 引入moke.js 法一:引入远程文件 法二:moke.js 下载到本地 法三:通过require 引入moke模块
2) 使用moke:
  S1:moke.moke() //创建虚拟数据
  S2:将虚拟数据转化为json数据
  S3:渲染数据

  Mock.js是一个模拟数据生成器,可以让前端独立于后端进行开发。如果你正在开发一个前端页面,可是后台还没有完成供你调用的Api,并且数据格式已经确定,那么你就可以使用Mock.js模拟相关的接口,生成假数据来查看页面效果。Mock.js的功能:生成随机数据,拦截 Ajax 请求。
Mock.mock(请求路径, {
            属性名:属性值,
   例:      "name|3": "ABC",    // 属性值重复3次
            "age|20-30": 1      // 20~30随机数,1用来确定类型
        });
        
        //创建XML对象
        var xhr = new XMLHttpRequest();//主流浏览器
        var xml=ActiveXObject('Microsoft.XMLHTTP');//非主流浏览器 IE创建方式
        xhr.open("get", 请求路径, true);// GET方式传输   true:异步
        xhr.send(null);//里面内容以键值对形式传输
        
       //请求返回处理函数
        xhr.onreadystatechange = function () {
            if (xhr.readyState == 4 && xhr.status == 200) {
                console.log(xhr.responseText);//打印返回数据
            }
        }

二.为什么要用Mock数据

1.一定意义上可以实现前后端同时作业
  有了Mock,前后端人员只需要定义好接口文档就可以开始并行工作,互不影响,只在最后的联调阶段往来密切;后端与后端之间如果有接口耦合,也同样能被Mock解决;测试过程中如果遇到依赖接口没有准备好,同样可以借助Mock;不会出现一个团队等待另一个团队的情况。这样的话,开发自测阶段就可以及早开展,从而发现缺陷的时机也提前了,有利于整个产品质量以及进度的保证。
2.开启TDD模式,即测试驱动开发
  单元测试是TDD实现的基石,而TDD经常会碰到协同模块尚未开发完成的情况,但是有了mock,这些一切都不是问题。当接口定义好后,测试人员就可以创建一个Mock,把接口添加到自动化测试环境,提前创建测试。 可以模拟那些无法访问的资源 比如说,你需要调用一个“墙”外的资源来方便自己调试,就可以自己Mock一个。
3.隔离系统
  假如我们需要调用一个post请求,为了获得某个响应,来看当前系统是否能正确处理返回的“响应”,但是这个post请求会造成数据库中数据的污染,那么就可以充分利用Mock,构造一个虚拟的post请求,我们给他指定返回就好了
4.可以用来演示
  假如我们需要创建一个演示程序,并且做了简单的UI,那么在完全没有开发后端服务的情况下,也可以进行演示。说到演示了,假如你已经做好了一个系统,并且需要给客户进行演示,但是里面有些真实数据并不想让用户看到,那么同样,你可以用Mock接口把这些敏感信息接口全部替换。
5.测试覆盖度
  假如有一个接口,有100个不同类型的返回,我们需要测试它在不同返回下,系统是否能够正常响应,但是有些返回在正常情况下基本不会发生,难道你要千方百计地给系统做各种手脚让他返回以便测试吗?比如,我们需要测试在当接口发生500错误的时候,app是否崩溃,别告诉我你一定要给服务端代码做些手脚让他返回500 。。。而使用mock,这一切就都好办了,想要什么返回就模拟什么返回,妈妈再也不用担心我的测试覆盖度了

猜你喜欢

转载自blog.csdn.net/qq_38169981/article/details/88542354