OSS探訪GitHubでログイン

依存APIを模擬し、通信の検査・障害注入まで一つの待受ポートで試す

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
4,980
主要言語
Java
ライセンス
Apache-2.0
リポジトリ最終更新
2026/10/04
ページ内ナビ

概要

MockServerは、開発中またはテスト中のアプリケーションが依存するサービスを模擬するサーバー兼プロキシです。期待するリクエストと応答を定義するほか、実通信の記録・変更、遅延や切断の注入、受信内容の検証を一つの環境で扱えます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

複数の通信方式を同じポートで模擬する

HTTP/1.1、HTTPS、HTTP/2、gRPC、gRPC-Web、WebSocket、TCPを最初の通信内容から判別します。メソッド、パス、ヘッダー、Cookie、本文などの条件でリクエストを照合し、設定した応答を返せます。

出典:[1]

通信を記録・変更し、失敗条件を再現する

プロキシとして通信を記録し、要求や応答を確認・変更できます。遅延、低速な接続、切断、エラーを注入でき、ダッシュボードでは要求、期待値、ログを追跡できます。

出典:[1]

向いている用途

利用できない依存先や回復処理を含む結合テストに向く

未完成のAPI、再現しにくい外部サービス、障害状態をローカル開発やCIで置き換える用途に適しています。OpenAPIから期待値を作る方法や、Java・JavaScript・Python・Rubyのクライアントも用意されています。

出典:[1]

導入前の確認

信頼できる開発・テスト環境だけで動かす

公式のセキュリティ方針は、本番利用と公開ネットワークへの露出を禁止しています。期待値、制御API、転送先、取得した通信には機密情報や危険な操作が入り得るため、到達範囲を開発者とテスト基盤へ限定してください。JARやソースから8.0.0を動かす場合はJava 17以上が必要で、公式Dockerイメージには実行環境が含まれます。

出典:[2][1]

参考にした公式資料

  1. [1]MockServer 8.0.0 README(2026-10-04)
  2. [2]MockServer 8.0.0 security policy(2026-10-04)
  3. [3]MockServer 8.0.0 release(2026-10-04)
  4. [4]MockServer 8.0.0 license(2026-10-04)
編集部からの補足

正常応答の置き換えだけでなく、遅延や接続断まで同じ検証環境で再現できる点に注目しました。制御APIを持つため、公開ネットワークから到達できないテスト専用環境で使うことが導入判断の前提です。

3ステップで試す

  1. 1

    確認済みのDockerイメージを取得する

    Dockerが動作する開発用PCで、8.0.0の公式イメージを固定して取得します。

    docker pull mockserver/mockserver:mockserver-8.0.0
  2. 2

    ローカル接続だけで起動する

    制御APIを外部へ公開せず、localhostの1080番ポートで起動します。

    docker run -d --rm --name mockserver-demo -p 127.0.0.1:1080:1080 mockserver/mockserver:mockserver-8.0.0
  3. 3

    起動を待って応答を確認する

    接続拒否の間は最大60秒まで再試行し、GET /helloの応答を検査します。サブシェルは成功・失敗にかかわらず終了時にコンテナを停止し、呼び出し元のシェルにtrapを残しません。

    ( trap 'docker stop mockserver-demo >/dev/null 2>&1 || true' EXIT; curl -fsS --retry 20 --retry-delay 1 --retry-connrefused --retry-max-time 60 --max-time 5 -X PUT http://127.0.0.1:1080/mockserver/expectation -H 'Content-Type: application/json' -d '{"httpRequest":{"method":"GET","path":"/hello"},"httpResponse":{"statusCode":200,"body":"Hello World"}}' && test "$(curl -fsS --max-time 5 http://127.0.0.1:1080/hello)" = "Hello World" )
公式READMEで確認

成長

成長の推移 · 直近30日

4,980 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
772
Open PR
0

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • mock-server
  • proxy
  • java-client
  • javascript-client
  • node-module
  • node-client
  • ruby-client
  • homebrew
  • grunt-plugin
  • ai
  • chaos-engineering
  • llm
Stars
4,980
Forks
1,116
Watchers
120
Open Issues
0
Contributors
109
所有者種別
Organization
主要言語
Java
ライセンス
Apache-2.0
リポジトリ最終更新
2026/10/04

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?