Web APIのテストにも。ダミーWebサーバ「ww」
wwはRuby/Sinatra製のオープンソース・ソフトウェア。Web APIを使った開発の場合、自動化したテストをいかに行うかが問題になる。特にWeb APIのように他サービスのリソースを使う場合、テストで過剰アクセスするとブロックされてしまう危険もある。
外部サービスを使った開発で利用
それを回避するにはテスト用に別途サーバを用意するのが良い。設定ファイルでテスト時や開発時にはローカルのサーバにデータを飛ばすのだ。柔軟にレスポンスデータを返すのにwwが面白そうだ。wwはSinatraで作られたダミーのWebサーバだ。
wwはレスポンスデータを設定したスクリプトを使ってサーバを立ち上げる。SinatraなのでURLの設計は容易で、レスポンスデータの設定も簡単だ。ユニットテストとも連携でき、自動的に立ち上がってテストができる。テストケースごとにサーバがリセットされる機能もある。
リクエスト内容の詳細も見られる
「/spy」というURLでアクセスするとアクセスしたパスやメソッド、リクエストヘッダ、レスポンスデータが閲覧できる。Web APIへのリクエストが正しく行えているかの確認にもなるだろう。HTTPに限定されるがRESTfulなサービスをテストしたいときなどに便利なソフトウェアだ。
執筆時のバージョン
0.3.0
moro’s ww at master - GitHub