そごうソフトウェア研究所

SOA、開発プロセス、ITアーキテクチャなどについて書いています。Twitterやってます@rsogo

RESTのMockテストにSoapUIを使うには

SoapUIはWebサービスのテストを便利にやるためのツールです。
SoapUIはWSDLからテストリクエストや、モックを自動生成してくれるのが非常に便利なんですが、RESTでも使えます。SOAPと違ってテストデータは自分で作らないといけないですが、テスト用のクライアントコードや、モックのコードを書かなくていいので便利です。

モックサービスの概要

SoapUIのモックサービスは、設定したポート番号でリクエストを待ち受け、クライアントに対して任意のレスポンスメッセージを返すことができる機能です。
モックサービスを使用することで、Webサービスの開発が完了していない場合でも、クライアントの動作確認や単体テストを実施することが可能です。

SoapUIの入手は下記のDownloadsからSoapUI Downloadを選択してください。
http://www.soapui.org/

REST用モックサービスの設定手順

1.初期画面からプロジェクトの新規作成を選択

2.プロジェクトの作成

3.モックサービスの設定


テストしたいサービスに合わせてPath、Port等を設定してください
テストデータを配置する場所をDocrootに設定します

4.レスポンスメッセージを設定

SOAPの場合と異なり、RESTの場合はファイルとしてテストデータを設定し、設定したDocrootディレクトリの下に配置します

$ pwd
/Users/sogo/docroot

$ cat test.json 
{
"name":"Taro",
"id":1
}
5.モックサービスのスタート


ここまででSoapUI側の準備が完了です。
MockServiceを起動させ、想定したport番号でrunning状態になっているか確認

6.クライアントからリクエストを送信


テストしたいクライアントからリクエストを送信する。
このとき、URLをモックサービスのものに変更する必要があります。

http://<MockServcieを動かすホスト>:<Port設定値>/<Path設定値>/<Docrootに配置したテストファイル>


Docrootディレクトリにテストパターンごとのテストデータを用意しておけば便利ですね。


SoapUIについてはこのエントリにまとめています。