前言

开发的过程中,往往后端和前端都是并行的,当后端的接口没有完善的时候就会影响到我们的开发,而我们在编程的过程中也会通过很多方法去编造假数据

模拟数据现状

程序写死"假数据"

例如:
  let data:[String:Any] = [
            "respcd":"0000",
            "data":["hotTopics":[
                ["title":"标题",
                 "author":"老师",
                 "t511116.jpg"]
            ]]]
 self.setData(data){
     .....
 } 
  a.会造成程序中脏数据 
  b.开发人员忘记切换 误发布到线上
  c.复杂 每次都需要写很多代码

通过charles代理方式

charles使用说明: https://www.aliyun.com/jiaoch...
  a.配置太复杂 每个接口都要添加配置
  b.修改mock数据不方便

搭建测试环境服务器

  a.无可视化编辑json工具
  b.无法多人同时测试一个接口

mock工具

通过上面分析我们可以设计符合自己mock数据平台
必须符合以下要求;
1.可一键切换生产和测试环境
2.可模拟页面中单个接口
3.可一键生成测试数据
4.可视化直接修改

原理图

图片描述

mock原理说明

mock主要启动一个Tomcat本地服务 配合可视化修改JOSN的工具 加了一些:新增 删除 启动 停止功能
备注:需要java环境
启动命令如下:
java -jar mock.jar

mock使用

1.App通可以摇一摇启动接口服务设置页面,页面包括接口选择功能和是否同步生产环境到mock环境功能.
2.mock服务器及编辑页面如下图

clipboard.png

请求返回数据如图

http://localhost:8080/fm/getMockJson?requestTag=login
如图通过postman模拟网络请求 也可以通过浏览器直接请求

图片描述

生产环境数据 To mock接口

http://localhost:8080/fm/postMockJson?requestTag=home&content={%20%22bstatus%22:%20{%20%22code%22:%202,%20%22des%22:%20%22success%22%20}%20}
通过上面接口配合App可以将生产环境数据同步到自己本地mock工具中

真实场景

模拟一个新开发的功能且页面很深
a->b->c
a,b 老页面
c是新开发页面且接口也是最新的 生产环境还没有发布
操作如下:

1 .首先接口连接生产环境 同步环境功能开启

然后选择同步生产环境到mock环境 然后分别点击a b 页面
这个时候 数据就被同步

2.其次接口连接mock环境 同步环境功能关闭

这个时候点击a,b页面请求的数据和生产环境一样 最主要目的是能进入c页面

上面操作只是第一次使用需要做 ,其目的主要是同步数据

3.最后mock c页面数据 如图:

点击增加按钮

clipboard.png


tracy
25 声望2 粉丝

« 上一篇
ucar-weex