API開発する際にモックアップサーバがあったり、テストを行う際にスタブのライブラリがあると便利です。スタブはプログラミング言語に依存しますが、モックサーバであればJSONスキーマなどを使って立ち上げられます。今回はそうしたスタブ、モックサーバを紹介します。
heroku/dorante: stub an API from a JSON schema
JSON SchemaをベースにAPIサーバのスタブを作成します。単純にJSON Schemaを適用するだけでも利用できますし、細かくコーディング(レスポンス内容をカスタマイズするなど)もできます。
heroku/dorante: stub an API from a JSON schema
putan/stubon: stubon is simple dummy api server.
専用のJSON/YAMLフォーマットに沿って記述してスタブサーバを立ち上げます。
'/aaa/get': - request: method: 'GET' response: status: 200 body: result: 'OK!'
SSLにも対応しているのが特徴です。
putan/stubon: stubon is simple dummy api server.
byoutline/MockServer: Simple REST server that makes simulating API easy.
Javaで作られています。JSONファイルでパス、メソッド、クエリを定義し、そのレスポンスを記述してモックサーバのベースを作ります。
byoutline/MockServer: Simple REST server that makes simulating API easy.
change/facebook-stub: Dropin Facebook Javascript API Stub for testing
FacebookのJavaScript API向けのスタブです。ネットワーク接続を伴わず、Facebookにアクセスすることもないので、利用者のソーシャル状況などに左右されないテストができます。
change/facebook-stub: Dropin Facebook Javascript API Stub for testing
kosamari/api-stub: Simple, no dependency, temporary API for your prototype
JSONフォーマットで記述した内容を元にスタブサーバを立ち上げます。機能は豊富ではありませんが、その分簡単に立ち上げられるのが便利です。
kosamari/api-stub: Simple, no dependency, temporary API for your prototype
markvincze/Stubbery: Library for creating Api stubs in .NET. https://markvincze.github.io/Stubbery/
.NET用のスタブライブラリです。テストコード中にあらかじめ書いておくことで、ユニットテストで利用できます。
markvincze/Stubbery: Library for creating Api stubs in .NET. https://markvincze.github.io/Stubbery/
knuton/stubb: Specify REST API stubs using your file system.
フォルダとファイルを使って実際にJSONファイルなどを配置し、その内容を読み取ります。例えば whales/GET.1.json
といったファイルを用意します。コードと分離して管理できるのでメンテナンスしやすそうです。
knuton/stubb: Specify REST API stubs using your file system.
endeepak/stub_on_web: Create stub urls to test external API integration
Elixirで作られたスタブサーバです。Elixirで書かれた設定ファイルをベースとして、サーバが立ち上がります。
endeepak/stub_on_web: Create stub urls to test external API integration
スタブとモックサーバは提供される機能が異なりますが、どちらもテスト時において役立つことでしょう。特にその言語のテスト環境において良いスタブライブラリがない場合にはモックサーバを使ってテストするのが良さそうです。