node-easymockを利用してスタブサーバを作ってみる
現在対応している案件で、APIを使ってUIを構築するけど、APIサーバがまだ用意出来ていない... といった状況が有り、簡単なAPIサーバ(スタブ)をローカルで作成してみました。
今回、「node-easymock」を利用してみました。
思ったより簡単に出来ましたが、手順を忘れないためにメモ。
利用環境
- Windows8.1
- Node.js: v0.12.3
- npm: 2.9.1
PCに入っていたNode.jsとnpmのバージョンがかなり前のもの...
最新の環境でも問題なく動くと思われます。
利用までの準備
node-easymockはnode.jsのモジュールとなっています。
まず、easymockを利用するために必要なものをそれぞれ準備する必要があります。
node.jsのインストール
node.jsの公式サイトから、node.jsをダウンロードし、インストールをします。
node.jsをインストールする際、同時にnpm(node.jsモジュールの管理ツール)も同時にインストールされます。
インストール完了後、コマンドプロンプトを開き以下のコマンドを実行します。
それぞれバージョンが表示されればインストールは正常に行われています。
C:\Windows\System32>node -v v0.12.3 #ここに表示される文言はインストールしたバージョンによって異なります。
C:\Windows\System32>npm -v 2.9.1 #ここに表示される文言はインストールしたバージョンによって異なります。
node-easymockのインストール
node.js, npmのインストールが完了したらnode-easymockをインストールします。
インストールはコマンドプロンプト上で以下のコマンドを実行します。
C:\Windows\System32>npm install -g easymock
Pythonのインストール
node-easymockにはnode-sqlite3というDBを利用します。
node-sqlite3を利用するためにはPythonが必要らしく...。
下記のサイトよりPythonをダウンロード&インストールします。
※バージョン 2.7.x をご利用下さい
※インストールフォルダはデフォルトでOKです
インストールが完了したらシステム環境変数にパスを通します。
管理者権限でコマンドんプロンプトを起動し、以下のコマンドを実行します。
C:\Windows\System32>setx /m path "%path%;c:\Python27"
パスを通したらPythonが使えるようになります。
環境によっては下記のページに記載されている通りVisual Studioのインストールも必要かもしれません。
参考サイト
スタブサーバを起動する
諸々のモジュールの準備が完了したら、いよいよサーバを立ち上げてみます。
任意の場所にeasymock用のディレクトリを作成します。
今回は例として easymock というディレクトリを作成します。
# 現時点のディレクトリ構成 easymock
easymockディレクトリに移動し、コマンドプロンプトから下記のコマンドを実行します。
easymockの起動ディレクトリに再度node-easymockを配置します。
C:\Windows\System32>npm install node-easymock
node-easymockの配置が完了したら、easymockディレクトリは下記のような構成になります。
easymock +- node_modules #node.jsのモジュール群(node-easymock含む)
次にテスト用としてeasymockディレクトリ直下に user_get.json というjsonファイルを設置しておきます。
ファイルの中身は下記のとおりです。
{ "name": "taro", "age": 22, "comment": "Hi" }
# この時点でのディレクトリ構成 easymock +- node_modules #node.jsのモジュール群(node-easymock含む) +- user_get.json
ファイルの設置が完了したら、node-easymockを起動します。
コマンドプロンプト上で下記のコマンドを実行します。
※予めXAMPPのApacheは起動しておいて下さい
# easymockディレクトリまで移動する # ディレクトリのパス名は各自の環境によりけり C:\Windows\System32>cd C:\xampp\htdocs\easymock # easymockの起動 C:\{file to path}\easymock>easymock # 以下のコメントが表示されれば成功 Server running on http://localhost:3000 Listening on port 3000 and 3001 Documentation at: http://localhost:3000/_documentation/ Logs at: http://localhost:3000/_logs/
APIにアクセスした際、データが返ってくるか確認する
ブラウザを起動し、http://localhost:3000/user
にアクセスしてみます。
ブラウザ上にuser_get.jsonの中身が表示されれば成功です。
割と簡単に出来ました。
今後、スタブを利用しなければならない場合は積極的に使ってみます。
参考サイト
- node-easymock で 簡単にWebAPIのモックサーバーを作る|パークのソフトウエア開発者ブログ|ICT技術(Java・Android・iPhone・C・Ruby)なら株式会社パークにお任せください
- GitHub - CyberAgent/node-easymock: A simple but powerful mock server in nodejs
- easymockなモックサーバでAPI試験 | 温室環境モニタシステムのIT工房Z
- APIのモックを簡単に作成できる「node-easymock」 - 大学生からの Web 開発
- Node EasyMock で API モックサーバを作る - mmts1007’s diary
- WebAPIに一回だけアクセスして、2回目以降はローカルモックで開発する方法 | Developers.IO