对于模拟布尔类型的数据,有两种模板可以定义:
模板1:'属性名|1':属性值
随机生成一个布尔值,例如:
{
'array|1-5':[
{
'name|1-10':'珲少',
'moreName|10':'珲少',
'id|+1':0,
'age|20-25':20,
'weight|60-70.1-4':60,
'isWiner|1':true
}
]
}
生成的数据如下:
模板2:'属性名|min-max':属性值
随机生成一个布尔值,值和属性值相同的概率为min/(min+max),值与属性值不同的概率为max/(min+max)。
对于模拟对象类型的数据,有两种模板可以定义:
模板1:'属性名|count':属性值
最终生成的对象的属性为从属性值中随机取count个属性,例如:
{
'array|1-5':[
{
'name|1-10':'珲少',
'moreName|10':'珲少',
'id|+1':0,
'age|20-25':20,
'weight|60-70.1-4':60,
'isWiner|1':true,
'job|3':{
num:1234,
address:'xxxxx',
phone:12321,
name:'cjj'
}
}
]
}
生成的数据如下:
模板2:'属性名|min-max':属性值
从属性值的属性中随机取min到max个作为最终生成的对象属性。
对于模拟数组类型的数据,有4种模板可以定义:
模板1:'属性名|1':属性值
从属性值数组中随机取1个值作为最终值。
模板2:'属性名|+1':属性值
从属性值数组中依次取1个值作为最终值。
模板3:'属性名|min-max':属性值
通过重复min到max此属性值生成一个数组。
模板4:'属性名|count':属性值
通过重复count此属性值生成数组。
除了上面列举的创建模板的方式外,还可以使用函数值和正则表达式值作为模板,如果是函数,则生成的值为函数的返回值,如果是正则表达式,则生成的值为可匹配的字符串。
2.数据占位符
数据占位符实际上就是指定生成的随机数据,它和Mock.Random库中的生成随机数据方法一一对应,其可以模拟邮箱地址,电话号,姓名,行段等各种数据。数据占位符格式如下:
@方法名 或 @方法名(参数)
模拟布尔类型数据:
1.无参:boolean随机返回一个布尔值,示例如下:
{
'array|1-5':[
{
'name|1-10':'珲少',
'moreName|10':'珲少',
'id|+1':0,
'age|20-25':20,
'weight|60-70.1-4':60,
'isWiner|1':'@boolean',
'job|3':{
num:1234,
address:'xxxxx',
phone:12321,
name:'cjj'
}
}
]
}
2.有参:boolean(min,max,current),指定current出现的概率。
模拟随机自然数:
1.无参:natural随机返回一个大于等于0的整数,示例如下:
{
'array|1-5':[
{
'name|1-10':'珲少',
'moreName|10':'珲少',
'id|+1':0,
'age|20-25':20,
'weight|60-70.1-4':60,
'isWiner|1':'@boolean',
'job|3':{
num:'@natural',
address:'xxxxx',
phone:12321,
name:'cjj'
}
}
]
}
生成数据如下:
2.有参数:natural(nim,max),随机生成一个在min与max之间的自然数。
模拟随机整数:
1.无参:integer随机生成一个整数。
2.有参:interger(min,max),随机生成一个在min到max之间的整数。
模拟随机浮点数:
1.无参:float随机生成一个浮点数。
2.有参:float(min,max,dmin,dmax),随机生成一个整数部分在min到max之间,小数位数为dmin到dmax之间的浮点数。
模拟随机字符:
1.无参:character随机生成一个字符。
2.有参:character(cs),cs为一个字符串,生成的字符从cs字符串中任取一个,如果传入的cs字符串为一下其中之一,则表示从内置字符集中选:
lower:小写字母
upper:大写字符
number:数值字符
symbol:系统字符