如何使用 Faker.js 來 Mock Node.js 應用資料

鬍子大哈發表於2019-02-26

本文作者:Aman Mittal

編譯:鬍子大哈

翻譯原文:huziketang.com/blog/posts/…

英文連線: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 Node.js 應用資料

上圖就是結果了,用 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 感興趣的童鞋,歡迎指點

相關文章