一、特点
- 前后端分离: 让前端攻城师独立于后端进行开发。
- 增加单元测试的真实性: 通过随机数据,模拟各种场景。
- 开发无侵入: 不需要修改既有代码,就可以拦截 Ajax 请求,返回模拟的响应数据。
- 用法简单: 符合直觉的接口。
- 数据类型丰富: 支持生成随机的文本、数字、布尔值、日期、邮箱、链接、图片、颜色等。
- 方便扩展: 支持支持扩展更多数据类型,支持自定义函数和正则。
二、语法规范
2.1 数据模板定义规范
// 属性名 name
// 生成规则 rule
// 属性值 value
'name|rule': value
属性名 和 生成规则 之间用竖线 | 分隔。
生成规则 是可选的。
生成规则 有 7 种格式:
'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
生成规则 的 含义 需要依赖 属性值的类型 才能确定。
属性值 中可以含有 @占位符。
属性值 还指定了最终值的初始值和类型。
生成规则和示例:
1. 属性值是字符串 String
'name|min-max': string
通过重复 string 生成一个字符串,重复次数大于等于 min,小于等于 max。
'name|count': string
通过重复 string 生成一个字符串,重复次数等于 coun