利用Mock进行模拟数据

07
Dec

利用Mock进行模拟数据

Mock.js 是一款模拟数据生成器,旨在帮助前端攻城师独立于后端进行开发,帮助编写单元测试。提供了以下模拟功能:

根据数据模板生成模拟数据
模拟 Ajax 请求,生成并返回模拟数据
基于 HTML 模板生成模拟数据

语法规范

Mock.js 的语法规范包括两部分:

数据模板定义(Data Temaplte Definition,DTD)
数据占位符定义(Data Placeholder Definition,DPD)
mockRespCode

数据模板定义DTD

数据模板中的每个属性由 3 部分构成: 属性名、生成规则、属性值

// 属性名   name
// 生成规则 rule
// 属性值   value
'name|rule': value
'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

eg:

'name|min-max': 'value' 通过重复 'value' 生成一个字符串,重复次数大于等于 min,小于等于 max。
'name|count': 'value' 通过重复 'value' 生成一个字符串,重复次数等于 count
Mock.mock({                        =>  {
   "string|1-10": "★"                    "string":"★★★★★★"
})//随机出现1到10个字符"★"              }

数据占位符DPD

占位符 只是在属性值字符串中占个位置,并不出现在最终的属性值中。占位符 的格式为:
@占位符号
@占位符(参数[,参数])

eg:

 {
    "自然数": "@natural",
    "浮点数": "@float",
    "日期": "@date",
    "时间": "@time",
    "标题": "@title",
    "中文名字": "@cname",
    "网址": "@url",
    "域名": "@domain",
    "邮箱": "@email",
    "段落": "@paragraph",
    "句子": "@sentence"
}
=>
{
    "自然数": 8077114183372796,
    "浮点数": -7509349163912364,
    "日期": "1970-03-14",
    "时间": "05:25:05",
    "标题": "Qgspmo Lcqiquof Kawo",
    "中文名字": "尤全信",
    "网址": "http://jcdtn.com/ppke",
    "域名": "chqykiyyq.co.uk",
    "邮箱": "c.lee@jackson.gov",
    "段落": "Ayooiokf llyhmsi owesieea yyishuzr rdnsl jexu vfrkrvuq icsb cclmce oofwykv qtcupiwv mgcclzb knltrto nhkg. Tcri rnxhtkj lzkoitbrg jss kxbtymnd ryyivbqn yjfv yydsldmw zuoy abfduhf chkbzzltdr tsfoh arkhtmbi. Hegjcqn vufnifrf opfxhbm nqkuoh chgclqvf irjpji uafmxjt fjhpjtby sybvjo xhstbpi tebcv pvfexmwgxx xfacci xnkqnij yysrepxvbr uermcpl cpoxyqzacm.",
    "句子": "Avtigmpj rgfocf iefnjw atuceo ild bledzp bwldvxihuh ledwbwpoo xrrdb kwewsm uoffu ymffqdwlk lidf qvdrpnc xmu txg mpheymd."
}

mockRespCode

在sosoapi中 内置了一个参数mockRespCode
可以通过设置不同的参数值来对应不同的页面回显
eg:
回显页面设置了200/300两个不同的页面

mockRespCode的值分别设为200和300来模拟正确和错误的回显页面

添加新评论