Linux学习:EasyMock创建项目和Mock.js语法

EsyMock是一个在线的可视化生成模拟数据的在线服务。

成功搭建EasyMock之后,登录查看默认自带一个演示项目。

 

一、查看演示项目:

    1.1、查看演示接口

      点击演示项目,进入演示项目的接口列表,默认有五个示例接口。

1.2、预览演示接口

  Easymock演示项目的自带实列接口,点击接口的眼睛预览按钮,然后点击“Send”按钮,左边就出现预期返回的数据。

      当然自带的接口也可以修改它的返回字段格式内容等。

 

      接下来我们自己创建项目和接口 

二、创建项目

    2.1、添加项目

      回到首页,点击右下角按钮,填写项目名称、API基础路径、项目项目描述点击创建按钮,就可以成功创建一个项目。

 

    2.2、新增接口

        进入新增的项目,点击创建接口。

      编辑好需要接口返回的内容,选择接口类型,填写接口的名字;然后点击创建就生成了一个接口。

        如图所示,编辑好数据后保存;再复制出接口的地址来请求试试。

 

    3.1、请求接口

      打开jmeter(或者其他接口请求工具postman等),填充好接口的地址;由于该接口不需要入参,所以不用填写参数,只需要设置请求协议类型、地址、端口和接口路径就好了。

      运行查看接口请求和响应,可以看到请求就是一个post的接口地址,没有携带cookies和参数。

再查看接口响应,响应与EasyMock配置的数据一致;因此建立的mock数据与预期一致

 

    Mock除了返回简单的字符串、数字类型还支持生成随机的文本、数字、布尔值、日期、邮箱、链接、图片、颜色等;更支持自定义函数和正则等等,当然也支持入参控制返回数据、修改返回的头部信息、状态码等。

 

    接下来我们就开始熟悉mock.js的语法

三、mock.js的语法

1、语法

      • 数据模板中的每个属性由 3 部分构成:属性名、生成规则、属性值;
      • 属性名 和 生成规则 之间用竖线 | 分隔;
      • 生成规则 是可选的
        // 格式
        'name|rule': value
        // 属性名   name
        // 生成规则 rule
        // 属性值   value

String:

"name|min-max":  "value" :通过重复"value"生成一个字符串,重复次数大于等于min,小于等于max。

"name|count":  "value" :通过重复"value"生成一个字符串,重复次数等于count。

1 Mock.mock({  
2   "string_random|2-10": "*",
3   "string_cout|3": "*"
4 })
5 // result 6 { 7 "string_random": "****", 8 "string_cout": "***" 9 }

Number

"name|+step":  value :属性值自动加step,初始值为value;

"name|min-max":  value :生成一个大于等于min,小于等于max的整数,属性值value只是用来确定类型;

"name|min-max.dcount": value:生成一个浮点数,整数部分大于等 min,小于等于max,小数部分保留 dcount 位;

"name|min-max.dmin-dmax": value:生成一个浮点数,整数部分大于等 min,小于等于max,小数部分保留 dmin-dmax 位。

 1 Mock.mock({  
 2   "int_number1|+1": 3,
 3   "int_number2|100-200": 200,
 4   "float_number1|300-400.4": 300,
 5   "float_number2|500-600.3-5": 500 
6
}) 7 8 // result 9 { 10 "int_number1": 3, 11 "int_number2": 130, 12 "float_number1": 378.3315, 13 "float_number2": 578.0104 14 }

 Boolean:

"name|count":  value :随机生成一个boolean值, 值为 value 的概率是count/(1+count),值不为 value 的概率是1/(1+count);所以当count=1时,值为True和为Flase的概率均为1/2;

"name|min-max":  value :随机生成一个boolean值, 值为 value 的概率是min/(min+max),值不为 value 的概率是max/(min+max)。

 1 Mock.mock({  
 2   "boolean": false,
 3   "boolean_1|1": true,
 4   "boolean_2|2-8": true 
5
}) 6 7 // result 8 { 9 "boolean": false, 10 "boolean_1|1": true, 11 "boolean_2|2-8": False 12 }

 Object

"name|index":{} :从属性值 { } 中随机选取 index 个属性;

"name|min-max":{} :从属性值 { } 中随机选取 min-max 个属性。

 1 Mock.mock({  
 2   "Object2|2": {
 3     "310000": "上海市",
 4     "320000": "江苏省",
 5     "330000": "浙江省",
 6     "340000": "安徽省"
 7   },
 8   "Object2_4|2-4": {
 9     "310000": "上海市",
10     "320000": "江苏省",
11     "330000": "浙江省",
12     "340000": "安徽省"
13 }
14 })
15 
16 // result
17 {
18   "Object2": {
19     "310000": "上海市",
20     "320000": "江苏省"
21   },
22   "Object2_4": {
23     "310000": "上海市",
24     "320000": "江苏省",
25     "330000": "浙江省",
26     "340000": "安徽省"
27   }
28 }

 

 

 

 


 


 

 

 

      

 

      

     

 

 

 

 

 

 

mockjs语法示例地址:http://mockjs.com/examples.html

mockjs语法规范github地址:https://github.com/nuysoft/Mock/wiki/Syntax-Specification

 

 

posted @ 2022-06-30 17:19  不周之风  阅读(289)  评论(0编辑  收藏  举报