@Satoh_D no blog

大分にUターンしたので記念に。調べたこととか作ったこととか食べたこととか

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の中身が表示されれば成功です。

割と簡単に出来ました。
今後、スタブを利用しなければならない場合は積極的に使ってみます。

参考サイト