如何使用 Faker.js 来 Mock Node.js 应用数据

本文做者:Aman Mittal
编译:胡子大哈 javascript

翻译原文:http://huziketang.com/blog/posts/detail?postId=58ece6c1a58c240ae35bb8e4
英文链接:How to Mock Data for Node.js Applications using Faker.js前端

转载请注明出处,保留原文连接以及做者信息java

当咱们开发一个应用的时候,一般都不想耗过多的精力在数据上。建立数据库而且往数据库里塞用例数据这件事情,会使我很烦躁。我宁愿花更多的时间在 RESTful API 和如何构建前端应用上。node

可是这并非说我不在乎数据库中数据的组织,对于数据的收集、整理有一个总体的规划仍是很重要的。这方面工做完成之后,在你开发 API 的时候对于要解决什么问题和如何解决这个问题就变得很是清晰了。在我最近的工做中,我要建立一个客户端电子商务网站原型,我发现这种状况我之前也遇到过,我须要在截止日期以前,提交一个客户端所须要的尽量检测彻底的原型系统。在肯定了我数据库结构之后,我查了一下解决方案,发现了一个针对 mock 数据很是好的解决方案:Faker.jsreact

初识 Faker.js

这是一个很棒的 node 模块,用来 mock 数据。Faker 有本身的 API,并且功能很是丰富,这一切都要归功于发明它的人 Marak 。它几乎能够覆盖到任何你想用的用例,在 Github 上的文档也能够帮你分分钟熟悉它的用法git

如今来看一下我须要用的测试用例——一个用户信息。github

  • 姓名web

  • email数据库

  • 网站npm

  • 地址

  • 个性签名

  • 头像

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 依赖就好了:

npm install faker --save

Faker.js 数据

Faker.js 能产生的数据以下:

  • 地址

  • 商业信息

  • 公司

  • 日期

  • 金融

  • 黑客

  • 助手

  • 图片

  • 网络

  • 乱数假文

  • 名字

  • 电话

  • 随机数

  • 系统

上面每个项目里面都有不少子项目,文档中有详细说明。

另一个我很喜欢 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 感兴趣的童鞋,欢迎指点

相关文章
相关标签/搜索