使用说明"/>
EasyMock:Mock.js的DTD和DPD规范,EasyMock使用说明
EasyMock
- Mock.js
- 什么是Mock.js
- Mock.js入门
- 数据模板定义规范DTD
- 数据占位符定义规范DPD
- EasyMock
- 在线使用EasyMock
- 自建easymock
Mock.js
什么是Mock.js
Mock.js入门
一、安装命令
cnpm install mockjs
二、模拟数据
让对象以字符串形式输出,数字2表示分隔的大小
JSON.stringify(data,null,2)
注意:mockjs中除了数字,都要用''
括起来
//mockjs入门
//1.导入模块
let mock = require("mockjs")
//2.通过mockjs工具类模拟产生:数组数据
let data = mock.mock({'list':[{'id':1,'name':'zhangsan'}]
})
console.log(JSON.stringify(data,null,2))
三、模拟5个数据
需求:生成列表数据,数据条数为5条。
'list|5'
//mockjs入门
//1.导入模块
let mock = require("mockjs")
//2.通过mockjs工具类模拟产生:数组数据
let data = mock.mock({'list|5':[{'id':1,'name':'zhangsan'}]
})
console.log(JSON.stringify(data,null,2))
数据模板定义规范DTD
定义属性的元素
属性名称 生成规则 属性值
传统定义数据
属性名:属性值
dtd规范生成模拟数据语法
属性名|生成规则:属性值
生成规则:不同类型的生成规则不同
'name|min-max': value
'name|count': value
'name|min-max.dmin-dmax': value
'name|min-max.dcount': value
'name|count.dmin-dmax': value
'name|count.dcount': value
'name|+step': value
一、数字类型
'name|min-max': value 属性的取值范围
'name|count': value 属性的取值
'name|min-max.dmin-dmax': value 属性的取值范围,dmin-dmax表示小数位数范围
'name|min-max.dcount': value 属性的取值范围,dcount表示小数位数
'name|count.dmin-dmax': value 属性的取值,dmin-dmax表示小数位数范围
'name|count.dcount': value 属性的取值,dcount表示小数位数
'name|+step': value 每生成一条数据+step的值
二、字符串类型
'name|min-max': value 属性值随机重复min-max次
'name|count': value 属性值重复count次
三、布尔类型
如果value为true
'name|min-max': value true出现的几率为min/min-max
'name|count': value true出现的概率=50%
四、对象类型
'name|min-max': value 随机从对象的属性中选择min-max个
'name|count': value 随机从对象的属性中选择count个
五、数组类型
'name|min-max': value 随机生成min-max个元素
'name|count': value 生成count个元素
数据占位符定义规范DPD
语法规则:
'属性名':'@占位符'
占位符
基本方法
图像方法
文本方法
名称方法
网络方法
地址方法
一、基本方法
1、@string(5)
生成5个字符
2、@integer(1,9999)
生成1-9999的随机数字
3、@data
生成随机日期
//1.导入模块
let mock = require("mockjs")
//2.通过mockjs工具类模拟产生:数组数据
let data = mock.mock({'list|5':[{'id':'@integer(1,9999)','name':'@string(5)','birthday':'@date'}]
})
console.log(JSON.stringify(data,null,2))
二、图像方法
@image(100)
生成100*100的图片的地址
//1.导入模块
let mock = require("mockjs")
//2.通过mockjs工具类模拟产生:数组数据
let data = mock.mock({'list|5':[{'id':'@integer(1,9999)','name':'@string(5)','birthday':'@date','heading':'@image(100)'}]
})
console.log(JSON.stringify(data,null,2))
三、文本方法
1、@title(2)
生成有2个单词的标题
2、@word(100)
生成有100个字符的正文
//1.导入模块
let mock = require("mockjs")
//2.通过mockjs工具类模拟产生:数组数据
let data = mock.mock({'list|5':[{'id':'@integer(1,9999)','name':'@string(5)','birthday':'@date','heading':'@image(100)','title':'@title(2)','content':'@word(100)'}]
})
console.log(JSON.stringify(data,null,2))
四、名称方法
1、@first
生成firstname
2、@last
生成lastname
3、@name
生成整个名称,但与上面两个的组合不匹配
//1.导入模块
let mock = require("mockjs")
//2.通过mockjs工具类模拟产生:数组数据
let data = mock.mock({'list|5':[{'id':'@integer(1,9999)','name':'@string(5)','birthday':'@date','heading':'@image(100)','title':'@title(2)','content':'@word(100)','firstname':'@first','lastname':'@last','fullname':'@name'}]
})
console.log(JSON.stringify(data,null,2))
五、网络方法
1、@email
2、@ip
3、@url
//1.导入模块
let mock = require("mockjs")
//2.通过mockjs工具类模拟产生:数组数据
let data = mock.mock({'list|5':[{'id':'@integer(1,9999)','name':'@string(5)','birthday':'@date','heading':'@image(100)','title':'@title(2)','content':'@word(100)','firstname':'@first','lastname':'@last','fullname':'@name','email':'@email','ip':'@ip','url':'@url'}]
})
console.log(JSON.stringify(data,null,2))
六、地址方法
1、@region
2、@city
3、@county
//1.导入模块
let mock = require("mockjs")
//2.通过mockjs工具类模拟产生:数组数据
let data = mock.mock({'list|5':[{'id':'@integer(1,9999)','name':'@string(5)','birthday':'@date','heading':'@image(100)','title':'@title(2)','content':'@word(100)','firstname':'@first','lastname':'@last','fullname':'@name','email':'@email','ip':'@ip','url':'@url','region':'@region','city':'@city','county':'@county'}]
})
console.log(JSON.stringify(data,null,2))
七、生成中文
在分隔符之前加c
1、@ctitle
2、@cword
3、@cfirst
4、@clast
5、@cname
EasyMock
在线文档:
在线使用EasyMock
一、进入地址:,登录
二、点击右下角创建项目
注意:一个前端工程对应一个项目
三、进入项目,创建接口
四、编写接口
五、使用postman测试
六、同步swagger
1、点击右边设置
2、上传已经完成的文档,保存
3、同步Swagger
自建easymock
可以查看上传的文档
更多推荐
EasyMock:Mock.js的DTD和DPD规范,EasyMock使用说明
发布评论