分享一个简单强大的生成测试数据的工具

2015-04-28 07:40:01 +08:00
 qiu8310

项目地址

源码地址

在线演示

背景

用 yod-mock 解决

使用它非常简单

可以看个 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

你可以在线查看或修改上面的 DEMO

yod-mock 的主要特点

7072 次点击
所在节点    Node.js
24 条回复
UG1u8zhQxhvqXNrk
2015-06-05 21:55:42 +08:00
yod.type('User', {
firstName: '@First',
lastName: '@Last',
sex: '@Sex',
fullName: '@Self.firstName @Self.lastName',
nickName: '@Nick',
chineseName: '@ChineseName',
age: '@Age(adult)',
to100: '` 100 - @Self.age `', // 执行 JS 语句
telephone: '@Tel',
avatar: '@Avatar',
others: {
words: 'Hello, my name is @Parent.fullName, you can call me @Parent.nickName.',
bestFriends: '@Nick.repeat(2, 3).join(", ")',
myFirstNameLength: '@Parent.firstName.length',
favouriteLetter: '@([A, B, C]).sample',
nc:[{nike:'@Nick'},{cName:'@ChineseName'}]
}
});


// 重复生成 2 - 4 个用户
console.log(yod({
status: 'ok',
list: '@User.repeat(2, 4)'
}))


是这样有问题。。nc:[{nike:'@Nick'},{cName:'@ChineseName'}] 我也发错了
UG1u8zhQxhvqXNrk
2015-06-05 21:56:12 +08:00
Nick
2015-06-05 22:35:59 +08:00
又躺着被@ T_T
qiu8310
2015-06-06 15:02:01 +08:00
@burgleaf 谢谢指出问题,是我没处理数组中的对象,已经更新了,你可以看 http://qiu8310.github.io/yod-mock/

你只要删除现在的 yod-mock 模块,重新安装即可(yod-mock 的代码没改,主要是改了它的核心模块 https://github.com/qiu8310/yod 的代码)

PS: 有什么好的建议随时可以告诉我!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/186871

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX