LoginSignup
2
2

More than 3 years have passed since last update.

WireMock を調査してみた 概要編 その1

Last updated at Posted at 2019-07-16

WireMock とは?

Web サービスをスタブ、モック化するライブラリです。
モックサービスが色々有る中での導入メリットは以下
①期待値の記述から、応答条件まで一つの Json ファイルで完結できる。
②初期搭載されている Swagger で画面上からどんなモックがあるかの確認等が可能

※ Swagger とは?
とりあえずこちらだけ読んでおけばなんとなくどういうものかわかるかと
簡単に言えば画面上で用意された API が見れる的なやつです。

導入方法

環境
・Mac OS 10.14.5

Homebrew が対応しているので下記コマンドでOK

$ brew install wiremock-standalone

ちなみに Docker を使う場合は中々面白そうな Image があるのでそれを使ってみるのもイイね!
holomekc/wiremock-gui
wiremock を GUI で操作、作成することができるみたい

インストールが終わったら起動してみましょう。ここも homebrew にお任せ

$ wiremock start

スクリーンショット 2019-07-16 23.40.36.png

実践

さて、導入メリットの②の画面を早速開いてみましょう。以下をブラウザに。
http://localhost:8080/__admin/docs

スクリーンショット 2019-07-16 23.43.59.png

下の Swagger UI をクリック

スクリーンショット 2019-07-16 23.44.28.png

こんなふうに、最初からある程度の API が用意されています。
種類はそこそこあり、設定値を一覧できたり削除できたりと使い勝手は悪くなさそう。
具体的な紹介はまたの機会に。

兎にも角にもとりあえず Mock を作ってみましょう。
上の図中段の、 POST /__admin/mappings をクリック
するとサンプルが
スクリーンショット 2019-07-16 23.49.07.png

とりあえずこれを使わせてもらいましょう。
画面右上の Try it out をクリック

スクリーンショット 2019-07-16 23.50.06.png

先程のサンプルが中段の枠に記載されていますね。
これはそのままで下段の Execute をクリック
スクリーンショット 2019-07-16 23.51.16.png

実際に投げた curl とその応答値があります。
成功したようなので確認してみましょう。
上に画面をスクロールして今度は GET /__admin/mappings をクリック
これは登録されている Mock を取得する API です。

スクリーンショット 2019-07-16 23.53.15.png

同様に Try it out からの Execute
スクリーンショット 2019-07-16 23.54.06.png

先程 POST した内容が登録されていますね。
試しに呼び出してみましょう。
http://localhost:8080/some/thing

スクリーンショット 2019-07-16 23.56.09.png

先程 body に設定した文字列が返ってきているのを確認できました。

今回はざっくり概要を触りました。
ちなみにですが勿論今回後半でやった Mock の登録や参照は curl などでターミナル等から実行可能です。
実際には期待値も応答条件も詳しく記載することができますが、それはまた今度
サッとテストするには中々手軽ですので良い感じではないでしょうか。
ではまた次回

参考文献

・公式ドキュメント
Wiremock
・導入手順
WireMockサーバーの導入手順
・使い方 簡単でかつわかりやすい
WireMockをスタンドアローンで使うときの基本的なメモ

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2