资讯专栏INFORMATION COLUMN

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

fish / 569人阅读

摘要:创建数据库并且往数据库里塞用例数据这件事情,会使我很烦躁。我宁愿花更多的时间在和如何构建前端应用上。初识这是一个很棒的模块,用来数据。文档中的代码告诉你如何使用这些可以很快地开发应用原型。

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

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

转载请注明出处,保留原文链接以及作者信息

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

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

初识 Faker.js

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

现在来看一下我需要用的测试用例——一个用户信息。

姓名

email

网站

地址

个性签名

头像

    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。文档中的代码告诉你如何使用:

    
    

这些 API 可以很快地开发 JavaScript / Node.js 应用原型。不仅如此,在开发 RESTful API 的时候,还可以很容易地 mock TDD / BDD 测试。

完整的源代码,在这个 Github 库中可以看到。

如果本文对你有帮助,欢迎关注我的专栏-前端大哈,定期发布高质量前端文章。

我最近正在写一本《React.js 小书》,对 React.js 感兴趣的童鞋,欢迎指点。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/82505.html

相关文章

  • 前端的 mock server

    摘要:然而扯淡的在前端前端要发请求,所以每个请求的都是,而生产环境服务器又是。前端方案因为我是在校生嘛,没办法了解到大公司的开发方式。可能后端就任性就不遵守,那么这个前端只能靠来调整,然而更多的情况是没办法调整的。 在一个中大型项目中,你不可能一边写着前端一边写后端。全栈太难 :) 像rails那样的开发模式已经很不适合当前的环境了。所有的项目都嚷嚷着前后端分离,那就只能这么干 我之前在做大...

    lastSeries 评论0 收藏0
  • 前端每周清单半年盘点之 Node.js

    摘要:前端每周清单专注前端领域内容,以对外文资料的搜集为主,帮助开发者了解一周前端热点分为新闻热点开发教程工程实践深度阅读开源项目巅峰人生等栏目。对该漏洞的综合评级为高危。目前,相关利用方式已经在互联网上公开,近期出现攻击尝试爆发的可能。 前端每周清单专注前端领域内容,以对外文资料的搜集为主,帮助开发者了解一周前端热点;分为新闻热点、开发教程、工程实践、深度阅读、开源项目、巅峰人生等栏目。欢...

    kid143 评论0 收藏0
  • 第三方库

    摘要:微信支付,支付宝支付,银联支付三大支付总结支付宝植入总结支付宝的植基于和百度地图的组件库基于百度地图封装的组件库,使用这个库最好需要先了解和百度地图。 Commento - 多说 & Disqus 开源替代品 Commento - 多说 & Disqus 开源替代品 anime.js 简单入门教程 强大轻量的动画库 anime.js 入门教程 来自B站的开源的MagicaSakura源...

    seanHai 评论0 收藏0
  • 第三方库

    摘要:微信支付,支付宝支付,银联支付三大支付总结支付宝植入总结支付宝的植基于和百度地图的组件库基于百度地图封装的组件库,使用这个库最好需要先了解和百度地图。 Commento - 多说 & Disqus 开源替代品 Commento - 多说 & Disqus 开源替代品 anime.js 简单入门教程 强大轻量的动画库 anime.js 入门教程 来自B站的开源的MagicaSakura源...

    gityuan 评论0 收藏0
  • 前后分离的总结

    摘要:如何去解决这些问题前后端分离大部分的互联网公司都分成了前端团队和后端团队。方案一采用架构业界很多公司会采用,单页应用的架构,这种架构是天然的前后端分离的。方案二淘宝的大前端方案中途岛上图是淘宝基于的前后端分离分层,以及的职责范围。 我们遇到了什么问题? 1.前端无法调试后端未完成的 API:如果后端同学还没有完成 API 开发,那么前端同学就不能对这个 API 进行开发。之前我们都是在...

    enrecul101 评论0 收藏0

发表评论

0条评论

fish

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<