mock
一、easy-mock
https://gitee.com/mirrors/Easy-Mock
2.Yapi
一、Mock功能的使用
每个接口都会对应一个Mock地址,如下面这个接口
对应mock地址为:
http://iapi.sit.sf-express.com/mock/165/iftp-forwarder/land/inquiry/insert
使用Postman或其他客户端可以访问这个mock地址,得到mock期望
二、Mock数据构造返回方式
请求 Mock 数据时,规则匹配优先级:Mock 期望 > 自定义 Mock 脚本 > 项目全局 mock 脚本 > 普通 Mock。
如果前面匹配到 Mock 数据,后面 Mock 则不返回
1.Mock期望
Mock 期望就是根据设置的请求过滤规则,返回期望数据,可以设置多个Mock期望。
可以设置的请求过滤规则包含请求参数、IP 地址,如下图:
1.请求参数过滤示例
2.在不同开发人员同时请求同一Mock地址时,可以设置IP过滤,请求的IP匹配到对应设置IP过滤的Mock期望就相应返回对应数据。
2.自定义Mock脚本
在高级Mock中选择脚本,配置了如下脚本;
通过postman或其他接口访问工具就会请求到
上例中在Mock脚本定义的返回数据规则参照《三、定义业务层面的Mock数据》
更多规则参考http://mockjs.com/examples.html
3.项目全局Mock脚本
配置位置:
三、定义业务层面的Mock数据
1.通用规则
1)日期-时间
序号
|
数据名称
|
示例
|
自定义脚本中设置规则
|
---|---|---|---|
1 | 日期-年-月-日 | 2011-03-05 | Random.date('yyyy-MM-dd') |
2 | 日期-2021-月-日 | 2021-04-01 | '2021'+Random.date('-MM-dd') |
3 | 日期-年 | 2021 | Random.date('yyyy') |
4 | 时间-时:分:秒 | 03:04:34 | Random.time('HH:mm:ss') |
5 | 日期 时间-年-月-日 时:分:秒 | 2011-03-05 03:04:34 | Random.date('yyyy-MM-dd HH:mm:ss') |
6 | 日期 时间-现在 | 2021-04-01 12:04:34 | Random.now() |
7 | 日期 时间-现在对应的整点 |
2021-04-01 12:00:00 2021-01-01 00:00:00 |
Random.now(‘hour')
|
2)数字
序号
|
数据名称
|
示例
|
自定义脚本中设置规则
|
---|---|---|---|
1 | 数字-8位随机数 | 55545557 |
Random.integer(10000000,99999999)
|
2 | 数字-浮点数 | 74.232 |
Random.float(60,100,3,3) 1.从左到右顺序解释为整数最小值,整数最大值,小数位数最小值,小数位数最大值 |
3)字符串
序号
|
数据名称
|
示例
|
自定义脚本中设置规则
|
---|---|---|---|
序号
|
数据名称
|
示例
|
自定义脚本中设置规则
|
1 | 字符串-5位随机小写字符 | abcde | Random.string('lower', 5) |
2 | 字符串-5位随机大写字符 | ABCDE | Random.string('upper', 5) |
3 | 字符串-5位随机数字字符 | ‘12345’ | Random.string('number', 5) |
4 | 字符串-5位随机特殊字符 | )&#%) | Random.string('symbol', 5) |
5 | 字符串-5位随机字符-在给定的字符中 | aaaae | Random.string('ae', 5) |
4)地址
序号
|
数据名称
|
示例
|
自定义脚本中设置规则
|
---|---|---|---|
1 | 地址-国家 | 中国 | Random.region() |
2 | 地址-省 | 山东省 |
Random.province() |
2 | 地址-城市 | 北京市 | Random.city() |
2.业务场景规则
持续收集中~~
序号
|
数据名称
|
示例
|
自定义脚本中设置规则
|
---|---|---|---|
1 | SF开头的订单号 | SF20210401001 | 'SF' +Random.date('yyyyMMdd')+Random.string('number', 3) |
2 | |||
三、jmeter