前言
开发的过程中,往往后端和前端都是并行的,当后端的接口没有完善的时候就会影响到我们的开发,而我们在编程的过程中也会通过很多方法去编造假数据
模拟数据现状
程序写死"假数据"
例如:
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服务器及编辑页面如下图
请求返回数据如图
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页面数据 如图:
点击增加按钮
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。