如何使用 Faker.js 來 Mock Node.js 應用數據

本文做者: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.jsreact

初識 Faker.js

這是一個很棒的 node 模塊,用來 mock 數據。Faker 有本身的 API,並且功能很是豐富,這一切都要歸功於發明它的人 Marak 。它幾乎能夠覆蓋到任何你想用的用例,在 Github 上的文檔也能夠幫你分分鐘熟悉它的用法git

如今來看一下我須要用的測試用例——一個用戶信息。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 依賴就好了:web

npm install faker --save複製代碼

Faker.js 數據

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 感興趣的童鞋,歡迎指點

相關文章
相關標籤/搜索