且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

一个移动开发者的Mock数据之路(二)

更新时间:2022-08-13 20:25:11

对于模拟布尔类型的数据,有两种模板可以定义:


模板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

   }

]

}

生成的数据如下:


一个移动开发者的Mock数据之路(二)



模板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'

       }

   }

]

}

生成的数据如下:


一个移动开发者的Mock数据之路(二)


模板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'

       }

   }

]

}

生成数据如下:

一个移动开发者的Mock数据之路(二)



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:系统字符