本文做者: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.js。react
這是一個很棒的 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 的緣由是,它不只可使用在服務端的 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 感興趣的童鞋,歡迎指點。