测试数据的生成——faker、chance和json-schema-faker
来源:互联网 发布:boss数据同步接口缴费 编辑:程序博客网 时间:2024/04/29 06:21
今天看了几个关于测试数据生成的npm包,调用api可在浏览器和 node.js 中生成大量的伪数据。
推荐一个好用的测试api的平台:https://tonicdev.com/npm/。下午无聊的时候把大部分的api都玩了一遍。O(∩_∩)O哈哈~
如下图,选择相应的npm包进行测试,输入代码,即可run出输出:
下面介绍几个包。
1、faker.js(https://www.npmjs.com/package/faker)
使用方法如下:
官方文档给的api很多,需要用到时再看文档就好啦,在这里记录几个常用的。
faker.js也支持中文的,需要先设置:faker.locale = “zh_CN”。毕竟是个外国人用的,部分数据不支持中文,生成的某些中文数据也有一丢丢奇怪。
常用api(faker.xxx类.xxx方法()):
address类:city(城市)、streetName(街道)、state(省份)
commerce类:color(颜色)、price(价格)
date类:past、future、between、recent、month、weekday
internet类:email、userName、password
name类:firstName、lastName、findName
phone类:phoneNumber
random类:number
2、chance.js(http://chancejs.com/)
chance.js用起来也很方便,例子:
chance.js 的api用起来也挺有趣的,列举几个简单例子:
30%的几率返回true,70%几率返回false。
<span style="font-size:14px;color:#333333;"></span><pre name="code" class="javascript">chance.bool({likelihood: 30});
从abcde五个字母中选一个返回。
<span style="font-size:14px;color:#333333;">chance.character({pool: 'abcde'});</span>
返回一个自定义类型混合的object。
<span style="font-size:14px;color:#333333;">chance.mixin({ 'user': function() { return { first: chance.first(), last: chance.last(), email: chance.email() }; }});chance.user();</span>
玩够了这些api,具体要用的我们还是按需查文档可靠点。
3、json-schema-faker(https://github.com/json-schema-faker/json-schema-faker)
这个更加强大的json-schema-faker内置了faker.js和chance.js,对二者是支持且可扩展的,而且还具有。
(mark资源:src=“https://cdnjs.cloudflare.com/ajax/libs/json-schema-faker/0.3.1/json-schema-faker.min.js”)
(1)先来看看基本用法:
<span style="font-size:14px;color:#333333;">var jsf = require('json-schema-faker');var schema = { type: 'object', properties: { user: { type: 'object', properties: { id: { $ref: '#/definitions/positiveInt' }, name: { type: 'string', faker: 'name.findName' }, email: { type: 'string', format: 'email', faker: 'internet.email' } }, required: ['id', 'name', 'email'] } }, required: ['user'], definitions: { positiveInt: { type: 'integer', minimum: 0, exclusiveMinimum: true } }};var sample = jsf(schema);console.log(sample.user.name);// output eg: John Doe</span>
(2)扩展fake.js并使用:
var jsf = require('json-schema-faker');jsf.extend('faker', function(faker){ faker.locale = "de"; faker.custom = { statement: function(length) { return faker.name.firstName() + " is cool."; } }; return faker;});var schema = { "type": "string", "faker": { "custom.statement": [19] }}var sample = jsf(schema);// output eg: Victoria is cool.
(3)扩展chance.js并使用:
var jsf = require('json-schema-faker');jsf.extend('chance', function(chance){ chance.mixin({ 'user': function() { return { first: chance.first(), last: chance.last(), email: chance.email() }; } }); return chance;});var schema = { "type": "string", "chance": "user"}var sample = jsf(schema);// eg: Object:// email: "nesrom@vu.an"// first: "Annie"// last: “Myers"
4、除此之外,还有一些偏门的可以产生乱数假文(中文词、段落、姓、名等)以供排版使用的工具:
http://xxlorem.unfoldgroup.com/http://more.handlino.com/
https://github.com/unfoldgroup/xxlorem
- 测试数据的生成——faker、chance和json-schema-faker
- Faker
- python的faker库
- laravel中faker能生成的字段类型有哪些?
- Hello,faker!
- Python 模拟数据生成模块 Faker
- Python 模拟数据生成模块 Faker
- Faker,好用的数据填充库
- Python-faker的函数效果一览
- laravel数据填充(seeder)及faker和tinker的使用
- 前端开发mock数据 nginx+json-server+faker
- Faker--伪造数据利器
- laravel faker github地址
- laravel使用faker填充数据
- Laravel 5使用faker Model Factory生成网站模拟演示数据
- 测试数据生成——树
- 测试数据的生成
- 动态生成表的测试数据
- SpringMvc实现文件上传
- Android 上传文件,图片。以及服务器端接收相关(转载)。
- cocos2d-x-3.11.1编译时输出无法打开头文件thread
- 别人的设计模式 文章
- Git使用详细教程
- 测试数据的生成——faker、chance和json-schema-faker
- android使用C/C++调用SO库
- STM32F103学习笔记——外部中断
- ViewPager与底部小圆点的联动
- 学习-安全类网站
- H.264之I帧与IDR帧区别
- osx + Intellij + mysql + jsp + tomcat 之java web项目-网上书店(下)
- 使用 WebView 浏览网页
- 数学期望DP小结