文档章节

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

苏南-首席填坑官
 苏南-首席填坑官
发布于 2018/11/26 07:52
字数 1897
阅读 77
收藏 2

首席填坑官∙苏南专栏,浅谈easy-mock 我有话要说

引言

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

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

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

宝剑锋从磨砺出,梅花香自苦寒来,做有温度的攻城狮!,公Z号:honeyBadger8

这里是@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,能给我们带来什么?, Easy-mock让团队协作效率提高不止一点点

深入浅出 - 简介

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

深入浅出 - Mock语法回顾

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

深入浅出 - Mock语法回顾,公H号:honeyBadger8, Easy-mock让团队协作效率提高不止一点点

深入浅出 - 创建一个接口

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

深入浅出 - 创建一个接口,公Z好:honeyBadger8

深入浅出 - 高阶用法 Function

  • 在线编辑,它也能支持 function
  • 是不是很优秀,能获取到全部请求头,可以让我们像写在js里一样写逻辑,写运算,
  • 当然它肯定是还有很多局限性的,如并不支持ES6
  • 有一点需要注意的是 function 里要写传出Mock对象,不能直接@...
  • 来看示例:
对象描述
MockMock 对象
_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号就更棒了呢,每周为您推最新分享。

宝剑锋从磨砺出,梅花香自苦寒来,做有温度的攻城狮

更多文章:

作者:苏南 - 首席填坑官

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

交流:912594095、公众H:honeyBadger8

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

© 著作权归作者所有

苏南-首席填坑官
粉丝 2
博文 21
码字总数 54603
作品 0
深圳
前端工程师
私信 提问
加载中

评论(1)

苏南-首席填坑官
苏南-首席填坑官 博主
凝雪曾临姑射山,
偶坠红尘作散仙。
最喜石门清夜月,
怜他只为一人圆。—— 我是苏南,愿您安好,周一加油!✨
PHPRAP 1.0.1 发布,修复 Bug 并支持 MOCK 服务

PHPRAP,是一个PHP轻量级开源API接口文档管理系统,致力于减少前后端沟通成本,提高团队协作开发效率,打造PHP版的RAP。 更新记录 修复在nginx服务器下报错的BUG 修复PHP7版无法获取mysql版本...

够过瘾
2017/11/05
160
0
PHPRAP v1.0.4 版本发布,支持在线调试接口

PHPRAP,是一个 PHP 轻量级开源 API 接口文档管理系统,致力于减少前后端沟通成本,提高团队协作开发效率,打造 PHP 版的 RAP 。 更新记录 修复添加项目环境域名时,描述有汉字时展示乱码的B...

够过瘾
2017/11/16
699
3
PHPRAP 1.0.2 发布,修复安装失败 Bug 和优化细节

PHPRAP,是一个PHP轻量级开源API接口文档管理系统,致力于减少前后端沟通成本,提高团队协作开发效率,打造PHP版的RAP。 更新记录 修复在MySQL5.5版本下安装数据初始化sql文件db.sql里add_t...

够过瘾
2017/11/06
496
2
PHPRAP v1.0.3 发布,修复BUG和新增部分功能

PHPRAP,是一个PHP轻量级开源API接口文档管理系统,致力于减少前后端沟通成本,提高团队协作开发效率,打造PHP版的RAP。 更新记录 修复安装步骤第一步conpile目录权限检测错误的BUG 修复moc...

够过瘾
2017/11/08
314
0
开源免费接口管理平台eoLinker AMS 开源版3.1.5同步线上版!免费增加大量功能!

摘要:eoLinker是一个免费开源的针对开发人员需求而设计的接口管理工具,通过简单的操作来帮助开发者进行接口文档管理、接口自动化测试、团队协作、数据获取、安全防御监控等功能,降低企业的...

james6
2017/12/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

聊聊dubbo的TimeoutFilter

序 本文主要研究一下dubbo的TimeoutFilter ListenableFilter dubbo-2.7.2/dubbo-rpc/dubbo-rpc-api/src/main/java/org/apache/dubbo/rpc/ListenableFilter.java public abstract class Liste......

go4it
20分钟前
4
0
方法与数组

方法 方法就是完成特定功能的代码块;在很多语言里面都有函数的定义,函数在Java中被称为方法 格式: 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2…) throw 异常{ 函数体;...

凹凸凸
42分钟前
2
0
死磕 java同步系列之StampedLock源码解析

问题 (1)StampedLock是什么? (2)StampedLock具有什么特性? (3)StampedLock是否支持可重入? (4)StampedLock与ReentrantReadWriteLock的对比? 简介 StampedLock是java8中新增的类,...

彤哥读源码
今天
4
1
性能优化工具(二)-Systrace

一、简介 Systrace是分析Android性能问题的神器,Google IO 2017上更是对其各种强推. 是分析卡顿掉帧问题核心工具,只要能提供卡顿现场,systrace就能很好定位问题,但是有一定上手难度,所以...

天王盖地虎626
今天
9
0
Linux 网络

MtrS
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部