一个强大的测试数据生成器
项目地址
背景
- 前端程序员会因为后端没有接口数据,开发某些功能可能就不太方便
- 后端程序员常会被前端程序员催促给接口,给数据
用 yod-mock 解决
使用它非常简单
- 第一步定义结构类型:
yod.type('xxx', {...})
- 第二步使用你定义的类型生成随机的数据:
yod('@xxx.repeat(10)')
可以看个 DEOM
// 定义一个用户类型
yod.type('User', {
firstName: '@First',
myFirstNameLength: '@Self.firstName.length',
lastName: '@Last',
'@Self.lastName': 'is my family name',
fullName: '@Self.firstName @Self.lastName',
nickName: '@Nick',
chineseName: '@ChineseName',
age: '@Age(adult)',
to100: ' `100 - @Self.age` ',
telephone: '@Tel',
avatar: '@Avatar',
others: {
words: 'My name is @Parent.fullName, call me @Parent.nickName.',
bestFriends: '@Nick.repeat(2, 3).join(", ")',
favouriteLetter: '@([A, B, C]).sample'
}
});
// 重复生成 2 - 4 个用户
console.log(yod('@User.repeat(2, 4)'));
上面代码会用你定义的 User 结构体去生成一个数组,包含 2-4 个 User
yod-mock 的主要特点
- 语法简洁,学习成本低,功能强大
- 支持所有 JS 原生的函数
- 支持所有 lodash 的函数
- 支持处定义新的 type 和 modifier
- 支持配置系统现有的数据(使用
yod.config('system.xxx', ...)
) - 支持在浏览器、NodeJS 或 命令行上使用
17 回复
有点用处
思路不错,收藏
想到了 ruby 的厂妹:https://github.com/thoughtbot/factory_girl
@leapon 谢谢!
之前写的太抽像了,修改了下组织语言。
个人觉得非常有用~
挺有用的,收藏,谢谢了~
貌似可以结合这个 https://github.com/marak/Faker.js/ 使用
@russj 嗯,谢了,可以参考。
另外,国外还有个 http://chancejs.com/ ,中国阿里也出了个 http://mockjs.com/ ,但它们功能我觉得都不及我的强大,不过可以参考它们 Random 数据生成的方式。
赞
更新了一个版本,添加了测试,并且修复了上一个版本中的一些很明显的问题!
https://github.com/thx/RAP 阿里的,和mock配合使用
很有用 自豪地采用 CNodeJS ionic
我知道还有2种 http://mockjs.com/ http://www.mocky.io/ - 这个可以在线生成接口,但是居然不支持跨域调用…
@think2011 不分享不知道,一分享大家把知道的库都分享出来了,不错,知道不少了。谢谢!