Web API呼び出しの時のテストや開発のときのスタブに使うwire mockについてお勉強したのでメモメモ。
※ちなみに、利用箇所をもっと具体的に書くと、まだWeb APIができていないときに、こう呼びだしたら、こう返してほしいというのを書いておいて、実際に呼び出してテストや呼び出し先の開発に利用したりするときに使います(これをスタブといいます)。
【ダウンロード】
http://wiremock.org/docs/download-and-installation/#direct-download
Jarファイルだけあればいい場合、そこの「download the standalone JAR from here.」
をクリック
【起動のための準備】
このJarファイルを直接たたくので、Javaがインストールされている必要がある。
パスもはってある必要がある(=コントロールパネルの環境設定PATHにjava.exeがあるところが追加されている必要がある)
【起動】
java -jar wiremock-jre8-standalone-2.27.0.jar --port 8081
(wiremock-jre8-standalone-2.27.0.jarのところは、ダウンロードしたファイル名が入る。ポートは8081を指定した例。この指定がないと、ポート8080を利用しようとする)
【終了】
ブラウザから(上記のようにポート8081で立ち上げた場合)
http://localhost:8081/__admin/shutdown
【WebAPIのモックとして使うには】
このリクエストが来たら、このレスポンスを返すというのが記述されているファイルmappingファイルを作成する。
・具体的な手順
起動すると、起動したフォルダに__filesとmappingsフォルダができる。このmappingsフォルダに以下の例を拡張子.jsonでファイルを作成する(ファイル名は.jsonで終わればなんでもよい。ここではsample1.jsonとした)
この例はhttp://wiremock.org/docs/stubbing/にある。
・保存したらブラウザからアクセス。ポートは立ち上げたときのポート(変更してなかったら8080)、そのあとのURLは上記マッピングファイルのrequestのurl、例ではポート8081,urlは"/some/thing"なので、
http://localhost:8081/some/thing
Hello world!と返ってくる
・このとき、コマンドプロンプトから
curl http://localhost:8081/some/thing -w \nresponse_status:%{http_code}\n
とすれば、レスポンスステータス(ここでは200)も返してくれる
・なお、現在のマッピングの内容は、ブラウザから以下のURLを叩くことで見れる
http://localhost:8081/__admin/mappings
【このほか詳しく】
以下のサイト参照
http://wiremock.org/docs/running-standalone/
※ちなみに、利用箇所をもっと具体的に書くと、まだWeb APIができていないときに、こう呼びだしたら、こう返してほしいというのを書いておいて、実際に呼び出してテストや呼び出し先の開発に利用したりするときに使います(これをスタブといいます)。
【ダウンロード】
http://wiremock.org/docs/download-and-installation/#direct-download
Jarファイルだけあればいい場合、そこの「download the standalone JAR from here.」
をクリック
【起動のための準備】
このJarファイルを直接たたくので、Javaがインストールされている必要がある。
パスもはってある必要がある(=コントロールパネルの環境設定PATHにjava.exeがあるところが追加されている必要がある)
【起動】
java -jar wiremock-jre8-standalone-2.27.0.jar --port 8081
(wiremock-jre8-standalone-2.27.0.jarのところは、ダウンロードしたファイル名が入る。ポートは8081を指定した例。この指定がないと、ポート8080を利用しようとする)
【終了】
ブラウザから(上記のようにポート8081で立ち上げた場合)
http://localhost:8081/__admin/shutdown
【WebAPIのモックとして使うには】
このリクエストが来たら、このレスポンスを返すというのが記述されているファイルmappingファイルを作成する。
・具体的な手順
起動すると、起動したフォルダに__filesとmappingsフォルダができる。このmappingsフォルダに以下の例を拡張子.jsonでファイルを作成する(ファイル名は.jsonで終わればなんでもよい。ここではsample1.jsonとした)
{ "request": { "method": "GET", "url": "/some/thing" }, "response": { "status": 200, "body": "Hello world!", "headers": { "Content-Type": "text/plain" } } } |
この例はhttp://wiremock.org/docs/stubbing/にある。
・保存したらブラウザからアクセス。ポートは立ち上げたときのポート(変更してなかったら8080)、そのあとのURLは上記マッピングファイルのrequestのurl、例ではポート8081,urlは"/some/thing"なので、
http://localhost:8081/some/thing
Hello world!と返ってくる
・このとき、コマンドプロンプトから
curl http://localhost:8081/some/thing -w \nresponse_status:%{http_code}\n
とすれば、レスポンスステータス(ここでは200)も返してくれる
・なお、現在のマッピングの内容は、ブラウザから以下のURLを叩くことで見れる
http://localhost:8081/__admin/mappings
【このほか詳しく】
以下のサイト参照
http://wiremock.org/docs/running-standalone/