「mockserver」と検索すると、2つの意味で使われていることがあります。1つは一般的なモックサーバーの概念、もう1つは mock-server.com で公開されている Java ベースの HTTP モック / プロキシツールです。この記事では後者の MockServer を対象に、できること、導入時の注意点、代替ツールの選び方を実装目線で整理します。単にエンドポイントを素早くモックしたい場合は、先に Apidogをダウンロード して試すこともできます。モックAPIの基本から確認したい場合は、モックAPIとは何かを解説する記事 も参考になります。
MockServer(プロジェクト)とは?
MockServer は、テスト用に使える HTTP(S) モックサーバー兼プロキシです。
基本的な使い方は次の流れです。
- リクエストに一致する「期待値(expectation)」を定義する
- 一致したリクエストに対してレスポンスを返す
- 必要に応じてリクエストを転送、コールバック実行、障害注入を行う
MockServer は以下の形で実行できます。
- スタンドアロンプロセス
- Docker コンテナ
- Maven プラグイン
- JVM テストへの組み込み
MockServer の強みは、単なる固定レスポンスではなく、テスト向けに細かく振る舞いを制御できる点です。
主な機能は次のとおりです。
- リクエストマッチング
- モックレスポンスの返却
- 一致しないリクエストのプロキシ
- ライブトラフィックの記録と再生
- Java / JSON による期待値定義
- HTTP/1.1、HTTP/2、gRPC、WebSockets、TCP のサポート
- 遅延や接続切断による障害注入
- LLM チャット補完 API のモック
- AI コーディングアシスタント向けの MCPサーバー
- Java、JavaScript、Python、Ruby クライアント
- JUnit / Spring との統合
プロジェクトは GitHub でオープンソースとして公開されています。
Java ベースのテスト基盤があり、CI や JVM テストライフサイクル内でモックを制御したい場合、MockServer は有力な選択肢です。
MockServerが問題になりやすい点
MockServer は強力ですが、すべてのチームにとって軽量な選択肢とは限りません。特に次の点は導入前に確認すべきです。
1. Java / Docker への依存
MockServer 6.x には Java 17+ が必要です。
JVM ベースのプロジェクトなら自然に組み込めますが、フロントエンドチームや QA チームが数個の API レスポンスをモックしたいだけの場合、Java ランタイムや Docker を用意するのは負担になります。
2. expectation DSL の記述量
MockServer では、レスポンスごとに expectation をコードまたは JSON で定義します。
シンプルな例は扱いやすいですが、次のようなケースでは設定が増えます。
- ネストした JSON レスポンス
- 動的 ID
- 複数のステータスコード
- 条件付きレスポンス
- エラーケースの分岐
たとえば「成功時は 200、入力不正時は 400、認証エラー時は 401」を再現するだけでも、それぞれの expectation を明示的に管理する必要があります。
3. GUI がない
MockServer には、API レスポンスを視覚的に設計したり、モックの状態を確認したりするための標準 GUI はありません。
基本的な運用は次のようになります。
- expectation を書く
- MockServer を起動または再起動する
- リクエストを送る
- ログを確認する
- 設定を修正する
Java に慣れていないメンバーにとっては、学習コストが高くなりがちです。
4. デフォルトでは静的データ
MockServer は、基本的に定義したレスポンスをそのまま返します。
現実的なテストデータを大量に生成したい場合は、追加コードや外部ライブラリが必要です。
たとえば以下のような値を自動生成したい場合です。
- メールアドレス
- ユーザー名
- タイムスタンプ
- UUID
- 住所
- 商品名
MockServer は悪いツールではありません。むしろ専門性の高いツールです。ただし、チーム全体で API を設計しながら素早くモックしたい場合は、より視覚的またはスキーマ駆動型のツールを検討する価値があります。
2026年のMockServer代替ツール
1. Apidog:設計、モック、テストをまとめたい場合
Apidog は、API の設計、テスト、ドキュメント作成、モックを同じワークスペースで扱える API プラットフォームです。
MockServer から見た主な違いは、Java ランタイムや expectation DSL を前提にしないことです。
Apidog では、OpenAPI スキーマを使うか、GUI でエンドポイントを作成することでモックを生成できます。
実装手順は次のようにシンプルです。
- OpenAPI スキーマをインポートする、または GUI で API を作成する
- レスポンススキーマを定義する
- モックURLを取得する
- フロントエンドやテストコードからそのURLを呼び出す
Apidog のスマートモッキングは、フィールド名と型を見て現実的なデータを生成します。
例:
{
"id": "uuid",
"email": "user@example.com",
"created_at": "2026-06-24T10:00:00Z"
}
email フィールドにはメールアドレス、created_at にはタイムスタンプのような値を返せます。これは Fakerスタイルのデータ生成 によって実現されます。
Apidog が向いているケースは次のとおりです。
- Java や Docker を入れずにモックしたい
- GUI でレスポンスを設計したい
- OpenAPI スキーマを中心に開発したい
- フロントエンド、バックエンド、QA で同じモックを共有したい
- モック、テスト、ドキュメントを分断したくない
MockServer と比較した Apidog のポイントは次のとおりです。
- Java不要、定型文不要:手書き expectation ではなくスキーマからモックを生成
- 視覚的に設計可能:GUI でレスポンスやシナリオを管理
- スマートデータ生成:フィールド名と型に基づいてテストデータを生成
- クラウドまたはセルフホスト:共有しやすいクラウド運用と、制御しやすいオンプレミス運用に対応
- APIライフサイクルを統合:設計、テスト、ドキュメント、モックを同じ場所で管理
セルフホスト構成を検討している場合は、セルフホスト型APIモックサーバーのまとめ も参考になります。
一方で、MockServer のプログラマブルな expectation やトラフィックプロキシは、低レベルの JVM 統合テストではより細かく制御できます。Apidog は Java ユニットテスト内にモックロジックを埋め込むというより、チーム全体で素早く API を設計・共有・検証する用途に向いています。
2. WireMock:JVMでスタブ管理したい場合
WireMock は、MockServer と近い領域の JVM ベースのモックツールです。
主な特徴は次のとおりです。
- スタブによるリクエストマッチング
- 記録と再生
- スタンドアロン実行
- JVM テストへの組み込み
- Java / Docker ベースの運用
MockServer と同様に、Java 中心のチームには扱いやすい一方で、GUI ベースの設計や非 JVM チームでの軽量利用には向きにくい面があります。
MockServer のモデルは合っているが、WireMock の API やエコシステムを好む場合は自然な移行先です。
より軽量な選択肢と比較したい場合は、WireMock代替ガイド を確認してください。
3. Mockoon:ローカルで素早くモックしたい場合
Mockoon は、無料のオープンソースデスクトップアプリです。
コードや Java ランタイムを用意せず、GUI からモック API を作成できます。
使いどころは明確です。
- フロントエンド開発中に一時的な API が必要
- ローカルだけで動けばよい
- チーム全体の API ライフサイクル管理までは不要
- すぐにエンドポイントを作りたい
ただし、チーム共有、スキーマ中心の管理、ドキュメントやテストとの統合は、フルプラットフォームに比べて限定的です。
詳しくは Mockoon代替案の比較 で確認できます。
4. Prism:OpenAPI仕様からモックしたい場合
Prism は、OpenAPI ドキュメントから直接モックサーバーを起動できるオープンソースツールです。
基本的な使い方は次のような流れです。
- OpenAPI ファイルを用意する
- Prism CLI でモックサーバーを起動する
- スキーマに沿ったレスポンスを返す
- 必要に応じてリクエストを検証する
OpenAPI 仕様を信頼できる情報源として扱う スキーマファーストのモッキングワークフロー に適しています。
一方で Prism は CLI ツールなので、GUI で API を設計したり、テストやドキュメントまで同じ場所で管理したりする用途には向いていません。
5. Beeceptor:ブラウザだけで一時的なエンドポイントを作りたい場合
Beeceptor は、インストール不要のホスティング型モックサービスです。
ブラウザでエンドポイントを作成し、すぐに利用できます。
向いている用途は次のとおりです。
- デモ
- Webhook の検証
- 一時的な API エンドポイント
- チームメンバーへのクイック共有
- ローカル環境を用意したくない場合
ただしクラウドのみのため、オフライン環境やエアギャップ環境には向きません。無料プランではリクエスト量にも制限があります。
軽量な選択肢を探している場合は、軽量なRESTful API用モックサーバー の比較も参考になります。
クイック比較
| ツール | セットアップ | ビジュアルGUI | データ生成 | セルフホスト | 最適用途 |
|---|---|---|---|---|---|
| MockServer | Java 17+ / Docker | なし | 手動 | 可能 | JVM/CI統合テスト |
| Apidog | デスクトップアプリ、ランタイム不要 | あり | スマート / Faker | クラウド + セルフホスト | 設計 + モック + テストを望むチーム |
| WireMock | Java / Docker | 限定的 | 手動 | 可能 | 記録・再生を望むJVMチーム |
| Mockoon | デスクトップアプリ | あり | テンプレート | ローカル | 単独のフロントエンド開発者 |
| Prism | Node CLI | なし | OpenAPIから | 可能 | スキーマファーストのモッキング |
| Beeceptor | ブラウザ、ホスト型 | あり | テンプレート | 不可 (クラウド) | クイックデモとWebhook |
さらに多くの候補を比較したい場合は、オンラインAPIモッキングツールの比較 を確認してください。
選び方
ツール選定では、機能表だけでなく、実際の開発フローに合わせることが重要です。
Java / JUnit / Spring のテストに組み込みたい
MockServer または WireMock が適しています。
特に以下のような場合です。
- JVM テスト内でモックサーバーを起動したい
- CI で自動化したい
- expectation やスタブをコードで細かく制御したい
- プロキシや記録・再生が必要
ランタイムなしで、チーム共有できるモックがほしい
Apidog が向いています。
特に以下のような場合です。
- フロントエンドとバックエンドで同じ API 定義を共有したい
- OpenAPI スキーマからモックを作りたい
- テストデータを自動生成したい
- GUI でレスポンスを調整したい
- モックとドキュメントのズレを減らしたい
個人開発でローカルに素早くモックしたい
Mockoon が軽量です。
デスクトップアプリを起動し、GUI でエンドポイントを作るだけで使えます。
OpenAPI仕様をそのままモックサーバーにしたい
Prism が適しています。
CLI ベースで、仕様書を契約として扱うワークフローと相性が良いです。
30秒で使い捨てのエンドポイントが必要
Beeceptor が便利です。
ブラウザだけで作成できるため、Webhook 検証やデモに向いています。
よくある質問
MockServerは無料ですか?
はい。MockServer はオープンソースで、セルフホストは無料です。
ただし、運用上のコストはあります。
- Java 17+ ランタイムの管理
- Docker コンテナの管理
- expectation の手動作成
- ログ確認
- チームメンバーへの共有方法の整備
Apidog のようなツールにも無料枠があり、違いはコードベースの設定ではなく、GUI とスキーマ駆動型のモックを使える点です。
MockServerとApidogのモッキングの違いは何ですか?
MockServer は、コードまたは JSON の expectation で設定する Java ベースのモック / プロキシです。JVM テストへの組み込みや、低レベルの挙動制御に向いています。
Apidog は、OpenAPI スキーマや GUI からモックを生成するツールです。スマートなデータ生成、視覚的な設計、チーム共有に向いています。
整理すると次のようになります。
- MockServer:プログラマブルな低レベル制御が強い
- Apidog:スピード、現実的なデータ生成、チームワークフローが強い
GUI と設定中心ツールのトレードオフについては、Postman対Apidogのモックサーバー比較 でも解説しています。
Javaコードを書かずにAPIをモックできますか?
はい、できます。
MockServer は JVM セットアップが必要ですが、次のような選択肢があります。
- Apidog:GUI と OpenAPI スキーマからモック生成
- Mockoon:デスクトップアプリでローカルモック
- Prism:OpenAPI ファイルから CLI でモック起動
- Beeceptor:ブラウザ上でホスト型モックを作成
Java を避けたい場合は、これらを使うことでランタイム依存を減らせます。
MockServerはOpenAPIをサポートしていますか?
MockServer は OpenAPI 仕様から expectation を初期化できます。
ただし、スキーマを主要な情報源として扱い、レスポンスを自動的に合わせる用途では、Prism や Apidog のようなスキーマファーストのツールのほうが自然です。
結論
MockServer は、Java と CI を中心にしたスタックでは非常に有用なモック / プロキシです。細かい expectation、トラフィック記録、JVM への組み込みは大きな強みです。
一方で、Java 17+ の要件、expectation DSL の記述量、GUI 不在、静的データ中心の運用は、チームによっては負担になります。
選び方はシンプルです。
- JVM 統合テストを重視するなら MockServer または WireMock
- ローカルで軽く使うなら Mockoon
- OpenAPI 仕様から CLI でモックするなら Prism
- 使い捨てエンドポイントなら Beeceptor
- 設計、テスト、ドキュメント、モックを同期したいなら Apidog
ランタイムのオーバーヘッドなしで現実的なモックを作りたいチームには、Apidog が実用的です。スキーマを指定するだけで、数秒で使えるモックを生成できます。






Top comments (0)