APIのモックを簡単に作成できる「node-easymock」
フロントエンド・バックエンドを分離してAPI主体で開発していく「APIファースト」がホットっぽいですね。
それに捗りそうな「node-easymock」を紹介します。
何をしてくれるか
例えば、localhost:3000/user
にアクセスしたら
{ "name": "taro", "age": 22, "comment": "Hi" }
みたいなJSONを返してほしいなー、ってのをちゃっちゃと作れるツールです。
API実装はしてないけど、テスト用に使うためのモックサーバーを簡単に立てられるツール。
インストール
node.js製でnpmを使ってインストールします。
$ npm install -g easymock
使おう
localhost:3000/user
から取得したければ、user_get.json
に色々書いていきます。このように、(名前)_(リクエスト名).json
というファイルの内容がlocalhost:3000/(名前)
に(リクエスト名)でアクセスした時に返ってきます。
$ vi user_get.json { "name": "taro", "age": 22, "comment": "Hi" }
で、
$ easymock
を実行すると、localhost:3000/user
からjsonが返ってきます。
ちなみに、(名前)を除いて_get.json
ファイルだとlocalhost:3000/
で返ってきます。
階層構造にする
localhost:3000/items/1
みたいに階層構造のURIにしたければ、
easymockSample └─ items └─ 1_get.json
つーかんじでファイルを作ればOK
ルーティングをする
localhost:3000/users/:userid
みたいにルーティングしたいときは、config.json
で設定します。
$ vi config.json { "routes": [ "/user/:userid" ] }
で
$ vi users/userid_get.json { "id": #{userid} }
としてやれば、localhost:3000/users/3267
なんかで
{"id": 3267}
が返ってきます。
config.json
には他にも色々書けますが省略。
ドキュメント
http://localhost:3000/_documentation/
に自動でドキュメントをつくってくれて便利です。
さいご
とても簡単。他にもテンプレート機能、変数、JSONPなんかも使えるので詳しいことは本家参照。
GitHub - CyberAgent/node-easymock: A simple but powerful mock server in nodejs