JavaScript
Web
npm

npm-fakerで千件単位のモックアップデータを一瞬で生成

概要

アプリやWEBサービス構築において、モックデータが必要なケースが結構あると思いますが
そんな時に自動でランダムに大量のモックデータを生成してくれるnpmライブラリがあるので紹介します。今回は試しにモックユーザを1000人生成してみます。

公式ドキュメント - https://www.npmjs.com/package/faker/
公式デモ - https://cdn.rawgit.com/Marak/faker.js/master/examples/browser/index.html
今回書いたコード - https://github.com/OdaDaisuke/npmFakerScript

使い方

$ npm i faker
fakeDataGenerator.js
let faker = require("faker")

let db = {
  users: []
}

for(let i = 0;i < 1000; ++i) {
  db.users.push({
    id: faker.random.uuid(), //ランダムなuuidを生成
    name: faker.name.firstName(), //それっぽいファーストネームを生成
    profile_image: faker.image.imageUrl(), //それっぽい画像url
    email: faker.internet.email(), //それっぽいメールアドを生成
    coins: faker.finance.amount() // それっぽい口座残高(?)を生成
  })
}

console.log(JSON.stringify(db))

実行してみましょう。

node fakeDataGenerator.js

するとこんな感じのデータが表示されると思います。

{"users":[{"id":"c3debf89-15b3-4e88-b620-c3657ff6d7c0","name":"Josianne","profile_image":"http://lorempixel.com/640/480",
"email":"Kasandra_McCullough30@gmail.com","coins":"768.52"},{"id":"7d890eb3-8f32-4abc-9495-
ab33eee9a8cc","name":"Greyson","profile_image":"http://lorempixel.com/640/480","email":"Shad43@yahoo.com","coins":"957.57"},
{"id":"96fb1460-0bad-4a1f-a285-fbe81d7cdd41","name":"Ernestina",
"profile_image":"http://lorempixel.com/640/480","email":"Maggie_Williamson94@gmail.com","coins":"834.11"}]}

これを、例えばdb.jsonに書き出すには下記のようにすればOKです。

node fakeDataGenerator.js > db.json

jsonServerを立ててモックデータをチェックしてみる

json-serverコマンドを叩けばAPIserverができ、
そのまま別タブでcurlでhttpリクエストを送信すれば簡単にデータのCRUDが可能になります。

$ npm i json-server
$ json-server --watch db.json
$ curl -X GET "http://localhost:3000/users