stubcellを使ってhttpモックサーバーを作る
目次
はじめに
APIのテストで使ったので、これから自分用で使う時用に備忘録
Stabcellとは?
実際の開発だと、APIできるまで待ってねっている時があるのでテスト用にモックを作る時に使用します。
準備
Node.jsがインストールされていること
流れ
$ npm install stubcell -g
でインストール- 色々ファイル作成
$ stubcell
でモックサーバーを起動
$ npm install stubcell -g
でインストール
ここではstubcellのインストールをしています
npmのオプションには-g
というものがあるのですが、
これは、グローバルにパッケージをインストールするのでパスを指定しなくても特定のコマンドがどのディレクトリからでも実行できるようになる
-g
がないと、no such file...的なので実行できない場合がある。
色々ファイル作成
ここでは主に2種類のファイルを作成します。
entry.yaml
yamlファイルがある利点としては、コメントがかけるので可読性が高まる。
よく周りの人たちが可読性,可読性...と言っていたのを理解できなかったのですが、いざ実務をすると、1000行超えるコード読みにくくて仕方がない。。
以下のファイルを作成
$ touch entry.yaml
yamlファイル記述
- # ユーザーリスト request: url: /users method: GET response: status: 200 file: users/user.json
これは参考のqiita記事からサンプルコードを真似させていただきました。
jsonファイル
$ mkdir users $ touch users/user.json
user.json
{ "users": [ { "id": 1, "name": "user1", "message": "hello i'm 1" }, { "id": 2, "name": "user2", "message": "hello i'm 2" }, { "id": 3, "name": "user3", "message": "hello i'm 3" }, { "id": 4, "name": "user4", "message": "hello i'm 4" }, { "id": 5, "name": "user5", "message": "hello i'm 5" } ] }
実行
これは-g
でインストールしていないとエラーが出ます(多分)
$ stubcell Listening on 8090 entry yaml is *{Path}* sample/entry.yaml silent is false record proxy is undefined loose compare undefined
これで完成
しっかり取れてる!
ちなみにAPIが動作してるか確認するのにはPostmanがメジャーだと思ってるけど、chromeの拡張機能であるYet Another Rest Clientがかなり手っ取り早くできるのでおすすめ(リンク下記)
感想
最近Swaggerというものをよく聞くので調べてみようと思います。(記事にもしてみようかと思ってる)
参考
クライアントサイドのAPI開発を楽にする、WebAPIモックサーバー「stubcell」の使い方 | Tips Note by TAM