本文做者:Aman Mittal
编译:胡子大哈 javascript翻译原文:huziketang.com/blog/posts/…
英文链接:How to Mock Data for Node.js Applications using Faker.js前端
转载请注明出处,保留原文连接以及做者信息java
当咱们开发一个应用的时候,一般都不想耗过多的精力在数据上。建立数据库而且往数据库里塞用例数据这件事情,会使我很烦躁。我宁愿花更多的时间在 RESTful API 和如何构建前端应用上。node
可是这并非说我不在乎数据库中数据的组织,对于数据的收集、整理有一个总体的规划仍是很重要的。这方面工做完成之后,在你开发 API 的时候对于要解决什么问题和如何解决这个问题就变得很是清晰了。在我最近的工做中,我要建立一个客户端电子商务网站原型,我发现这种状况我之前也遇到过,我须要在截止日期以前,提交一个客户端所须要的尽量检测彻底的原型系统。在肯定了我数据库结构之后,我查了一下解决方案,发现了一个针对 mock 数据很是好的解决方案:Faker.js。react
这是一个很棒的 node 模块,用来 mock 数据。Faker 有本身的 API,并且功能很是丰富,这一切都要归功于发明它的人 Marak 。它几乎能够覆盖到任何你想用的用例,在 Github 上的文档也能够帮你分分钟熟悉它的用法。git
如今来看一下我须要用的测试用例——一个用户信息。github
const faker = require('faker')
const User = {
name: faker.name.findName(),
email: faker.internet.email(),
website: faker.internet.url(),
address: faker.address.streetAddress() + faker.address.city() + faker.address.country(),
bio: faker.lorem.sentences(),
image: faker.image.avatar()
}
module.exports = User复制代码
上图就是结果了,用 faker.js 很方便地能够 mock 数据,只须要添加 npm 依赖就好了:web
npm install faker --save复制代码
Faker.js 能产生的数据以下:数据库
上面每个项目里面都有不少子项目,文档中有详细说明。npm
另一个我很喜欢 Faker 的缘由是,它不只可使用在服务端的 JavaScript,还能够应用在浏览器端 JavaScript。文档中的代码告诉你如何使用:
<script src = "faker.js" type = "text/javascript"></script>
<script>
var randomName = faker.name.findName(); // Caitlyn Kerluke
var randomEmail = faker.internet.email(); // Rusty@arne.info
var randomCard = faker.helpers.createCard(); // random contact card containing many properties
</script>复制代码
这些 API 能够很快地开发 JavaScript / Node.js 应用原型。不只如此,在开发 RESTful API 的时候,还能够很容易地 mock TDD / BDD 测试。
完整的源代码,在这个 Github 库中能够看到。
若是本文对你有帮助,欢迎关注个人专栏-前端大哈,按期发布高质量前端文章。
我最近正在写一本《React.js 小书》,对 React.js 感兴趣的童鞋,欢迎指点。