2019独角兽企业重金招聘Python工程师标准>>>

引言

​  今天我们来聊聊Mock,随着互联网发展,这两年前后端分离的开发模式兴起,Mock也从以住的幕后走上了台面,让更多的人而得知,以前传统的开发方式Mock大多局限在后端人员接触较多一些。

  Mock已经是老生常谈了,网上一搜索就很多,各位前辈们都讲的很到位,但今天我只讲它——easy-mock。

  为什么会突然来聊它,这个就说来话长了,个人简介里就说过,专注于分享工作中遇到的坑,但这一次不是我的坑,来源于QQ群友(# 如果您有想知道的故事,而正好我也会,那么就由我为您讲出来吧,欢迎留言哦 # ),请看下图:

这里是@IT·平头哥联盟,我是首席填坑官—苏南,用心分享 做有温度的攻城狮。 公Z号:honeyBadger8,交流:912594095

什么是Mock

  什么是Mock?? Mock其实就是真实数据存在之前,即调试期间的代替品,是个虚拟的存在,用人话讲它就是个备胎,如女生长的好看,追她的人多,但又不是很满意但也不拒绝,在自己心仪的小哥哥出现之前,一直吊着你!

如何Mock数据?

  • 不要告诉我 new 一个哦,对象可以 new,备胎可new不出来呢;
  • 方法一:最low的方式将 Mock 数据写在代码里、json文件里;
  • 方法二:利用 CharlesFiddler等代理工具,将 URL 映射到本地文件;
  • 方法三:本地起 Mock Server,即mockjs,有点麻烦每次修改了后还要重启服务,nodemon能解决,但开的东西多了,电脑卡出翔,维护也麻烦;
  • 方法四:规范些的公司自己已经集成了一套mock数据体系;
  • 重点来了easy-mock一个在线 Mock 平台,活儿好又性感是你备胎的最佳选择。
  • 当然优秀的你可能还有很多其他的方式,欢迎补充。
//mock 基本使用示例
import Mock from "mockjs";
Mock.mock({"code": 0,"message": "请求成功","data|20": [{"name": "@cname",//cname 中文,name 英文"userId": "@id","lastDate": "@datetime"}]//首席填坑官∙苏南的专栏 交流:912594095、公Z号:honeyBadger8
})

什么是easy-mock,能给我们带来什么?

  • Easy Mock 是一个可视化,并且能快速生成 模拟数据 的持久化服务,
  • Easy Mock 支持基于 Swagger 创建项目,以节省手动创建接口的时间;
  • 简单点说:Easy Mock就是一个在线创建mock的服务平台,帮你省去你 配置安装起服务维护多人协作Mock数据不互通等一系列繁琐的操作, 它能在不用1秒钟的时间内给你所要的一切,呼之即来、挥之即去的2018最优秀备胎没有之一,完全不用担心负任何责任哦。
  • 更多优点它在等你去发现哦……

深入浅出 - 简介

  • 就跟人一样长的再好看,了解过后才懂,一样东西也是如何,谁用谁知道;
  • Easy Mock支持团队协作,也可以是个人项目,
  • 以下以个人项目为例,与多人协作没有区别,只是少了成员邀请;

深入浅出 - Mock语法回顾

  • @ip -> 随机输出一个ip;
  • @id -> 随机输出长度18的字符,不接受参数;
  • "array|1-10" -> 随机输出1-10长度的数组,也可以直接是固定长度;
  • "object|2" -> 输出一个两个key值的对象,
  • "@image()" 返回一个占位图url,支持size, background, foreground, format, text
  • 等等,这里就不再一一介绍。

深入浅出 - 创建一个接口

  • 它的写法,跟Mock.js一模一样,上面代码已经展示过,更多示例
  • 使用Easy Mock创建一个接口,请看下图:

深入浅出 - 高阶用法 Function

  • 在线编辑,它也能支持 function
  • 是不是很优秀,能获取到全部请求头,可以让我们像写在js里一样写逻辑,写运算,
  • 当然它肯定是还有很多局限性的,如并不支持ES6
  • 有一点需要注意的是 function 里要写传出Mock对象,不能直接@...
  • 来看示例:
对象 描述
Mock Mock 对象
_req.url 获得请求 url 地址
_req.method 获取请求方法
_req.params 获取 url 参数对象
_req.querystring 获取查询参数字符串(url中?后面的部分),不包含 ?
_req.query 将查询参数字符串进行解析并以对象的形式返回,如果没有查询参数字字符串则返回一个空对象
_req.body 当 post 请求以 x-www-form-urlencoded 方式提交时,我们可以拿到请求的参数对象
... _req.cookies、ip、host等等,我只是一个代码的搬运,更详细请看这里
//简单模拟登录,根据用户传入的参数,返回不同逻辑数据
{defaultName:function({_req}){return _req.query.name;},code: function({_req}){return this.defaultName ? 0 : -97;},message: function({_req}) {return this.defaultName ? "登录成功" : "参数错误";},data: function({_req,Mock}){return this.defaultName ? {token: Mock.mock("@guid()"),userId: Mock.mock("@id(5)"),cname: Mock.mock("@cname()"),name: Mock.mock("@name()"),avatar: Mock.mock("@image(200x100, #FF6600)"),other:"@IT·平头哥联盟-首席填坑官∙苏南 带你再谈Mock数据之easy-mock"}:{}}//首席填坑官∙苏南的专栏 交流:912594095、公Z号:honeyBadger8
}

深入浅出 - 在线调试

  • 再优秀的工程师写出的代码也一样要测试,没有人敢说自己的代码无Bug
  • Easy Mock 它是真的懂你的,已经为你准备好了,接口编写好后,立马就能让你测试,
  • 是不是觉得很棒棒呢??如果是你自己本地写mock数据,你需要重启服务、手动写参数、可能还需要整个测试页,
  • 知道你已经非常饥渴迫切的想要知道,具体的调试方式了:
  • 看不清吗??已经为你备好在线调试链接,支持POST、GET、PUT等方式,因gif图加载比较大,就不一一演示了

结尾:

  天下无不散之宴席,又到说再见的时候了,以上就是今天苏南为大家带来的分享,您GET到了吗?Easy Mock更多强大之处自己去折腾吧,#用心分享 做有温度的攻城狮#,希望今天的分享能给您带来些许成长,如果觉得不错记得点个赞哦,,顺便关注下方公Z号就更棒了呢,每周为您推最新分享。

更多文章:

  • immutability因React官方出镜之使用总结分享!
  • 小程序项目之做完项目老板给我加了6k薪资~
  • 小程序项目之填坑小记
  • 面试踩过的坑,都在这里了~
  • 你应该做的前端性能优化之总结大全!
  • 如何给localStorage设置一个过期时间?
  • 动画一点点 - 如何用CSS3画出懂你的3D魔方?
  • 动画一点点 - 手把手教你如何绘制一辆会跑车
  • SVG Sprites Icon的使用技巧

作者:苏南 - 首席填坑官

链接:https://blog.csdn.net/weixin_43254766

交流:912594095、公众H:honeyBadger8

本文原创,著作权归作者所有。商业转载请联系IT平头哥联盟获得授权,非商业转载请注明原链接及出处。

转载于:https://my.oschina.net/susouth/blog/2960890

Easy-mock让团队协作效率提高不止一点点相关推荐

  1. 围绕 API 团队协作与自动化测试的实践

    2022 年 7 月 8-9 日,QECon 全球软件质量&效能大会在深圳举办.大会聚焦"研发效能.卓越工程.质量工程.数智化测试" 四大主题,吸引了数千名行业从业者参与. ...

  2. 团队协作之文档管理-ShowDoc本地化安装使用

    文章目录 1. 文档分类 2. ShowDoc 简介 3. ShowDoc 本地安装及设置 4. ShowDoc 使用 5. 总结 在团队协作中除了代码的版本管理之外,还有文档管理也是比较重要的,比如 ...

  3. 论团队协作的一个小故事

    前言 因负责的工作需要复盘,工作期间出现了不少问题.为了团结同事.不破坏友好的气氛,还必须指出团队的内部问题,作为一个普通员工的我,也只能编写一个幼稚的故事来说明一些团队内部的问题. 论团队协作的一个 ...

  4. 为什么我们不应该使用微信或者 QQ 作为团队协作的 IM 工具?

    如果你的团队没有觉得微信是低效的团队 IM 工具,那只有两种可能: 团队成员很少使用微信进行私人的生活和娱乐. 你就是一个低效的团队,而且还不自知. 本文内容 微信,连接一切 每个人都有微信 微信,低 ...

  5. 多人 协作 任务 android 软件,MeisterTask(团队协作软件)

    MeisterTask是一款团队协作软件,类似Trello.Teambition.明道等工具,MeisterTask功能齐全,而且能和在线存储系统.其他项目管理者以及移动应用很好地进行合作. Meis ...

  6. 如何打造高效的团队协作

    "如果干得好,管理是最崇高的职业之一.没有哪一个职业能像管理一样为他人提供学习和成长的机会,让他们懂得承担责任并取得成绩,以及为团队的成功做出贡献" <你要如何衡量你的人生& ...

  7. 团队协作软件有哪些?助力团队高效办公用这一款工具

    日常工作想要实现好的团队协作,领导人的领导能力很重要,我认为我的团队领导能力还是很强的,我这就和大家分享我的经验,如果你愿意和我一样下载一个团队协作软件,然后跟着我的使用步骤好好来,我敢保证,你们团队 ...

  8. Easy Mock - 数据模拟神器

    开源公告 由大搜车无线团队出品的 easy-mock 在线数据模拟服务上线至今已经有几个月时间了,近期网站刚更新了焕然一新的 2.0 版本,与此同时,我们还带来一个更重磅的消息: 今天正式将整个服务的 ...

  9. Mendix项目团队协作方法

     Mendix项目团协作以及项目上传的方法 要想进行团队协作我们得先把项目部署到私有云上,Mendix项目我们使用腾讯云,首先进入coding腾讯云网站,注册腾讯云coding账号.(https:// ...

最新文章

  1. html计算平均分,Calculate phastCon Score for a gene —- 计算基因的phastCon平均分,判断基因保守型...
  2. SharePoint 2010 文档库添加文件icon
  3. spring17:Bean的生命始末标签@PostConstruct,@PreDestroy和改变作用范围的@Scope标签
  4. 产品经理必备知识之网页设计系列(一)-创建出色用户体验
  5. 最大似然估计和最大后验概率
  6. OpenGL通过Assimp加载模型
  7. php数据接口api安全,API接口数据安全之授权码sign
  8. 基于相关性分析系统性能瓶颈
  9. ai二维码插件_送你60款AI脚本插件包,已整合成插件面板的形式,方便在AI中调用...
  10. 基础省选+NOI-第6部分 字符串
  11. 面试官系统精讲Java源码及大厂真题 - 37 ThreadPoolExecutor 源码解析
  12. 查找所有的两个字姓名,中间加个空格(强迫症的福音)
  13. 左耳朵耗子:如何超过大多数人
  14. 微博中微服务缓存_新浪微博温情:基于微服务的微博直播互动架构设计经验分享...
  15. 基于Maya 2018安装OpenVDB插件
  16. 生产大数据集群架构图
  17. 波峰波谷(凸点凹点)的检测算法
  18. php twitter api,使用PHP通过twitter api获取twitter的推文信息
  19. 拇指玩」制作的「谷歌安装器」app
  20. insmod 时报错“Unknown symbol”问题的解决

热门文章

  1. eclipseEE连接mysql_mysql-eclipseEE连接MySQL出现问题,哪位大神可以帮我看看*^__^*,非常感谢...
  2. c语言第4章作业,《C语言程序设第4章作业.doc
  3. JAVA EE 6 jar包集合_Java EE6将JSF facelets(xhtml)和ManagedBeans打包成JAR
  4. html模态窗口调试,在模态窗口中显示HTML标记
  5. python中画圆的代码_Python使用matplotlib绘制圆形代码实例
  6. 蓝宝石显卡bios_这操作竟能让显卡性能暴涨?原来不是黑科技,小白都会
  7. amd服务器有什么优势,服务器市场才是AMD真正想要发挥作用的地方
  8. java 调用 rsync_运行rsync时,QProcess不显示任何输出
  9. mysql close 出错_MySQL错误Forcing close of thread的两种解决方法
  10. 《天天数学》连载46:二月十五日