本文做者: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.js。react
這是一個很棒的 node 模塊,用來 mock 數據。Faker 有本身的 API,並且功能很是豐富,這一切都要歸功於發明它的人 Marak 。它幾乎能夠覆蓋到任何你想用的用例,在 Github 上的文檔也能夠幫你分分鐘熟悉它的用法。git
如今來看一下我須要用的測試用例——一個用戶信息。github
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 能產生的數據以下:數據庫
上面每個項目裏面都有不少子項目,文檔中有詳細說明。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 感興趣的童鞋,歡迎指點。