mock-server/mockserver-monorepo

MockServer is an HTTP(S) mock server and proxy for testing that lets you mock APIs, inspect and modify live traffic, and inject failures. It supports HTTP/1.1, HTTP/2, gRPC, WebSockets, TCP and more on a single port, with additional support for HTTP/3, message brokers, and AI/LLM APIs.

What it solves

MockServer 提供了一種測試依賴外部 API 的應用程式的方法,而無需這些實際系統是否可用、完整或穩定。它能防止因依賴項不可用而導致的開發瓶頸,並允許開發者模擬在真實環境中難以重現的罕見故障情境(混沌工程)。

How it works

它作為一個 HTTP(S) 伺服器與代理伺服器,可以透過 REST 控制平面進行配置。它支援廣泛的協定,包括 HTTP/1.1、HTTP/2、gRPC、WebSockets 與 raw TCP。使用者可以定義「期望值」(根據路徑、標頭或主體來匹配請求),並指定對應的響應。它也可以代理真實流量以記錄並修改傳輸中的請求,或直接從 OpenAPI 規範生成模擬數據。

Who it’s for

軟體開發者與 QA 工程師,需要在測試期間將應用程式與外部依賴項隔離,透過混沌工程進行韌性測試,或模擬 AI/LLM 聊天補全 API。

Highlights

  • Multi-protocol support: 處理 HTTP/1.1、HTTPS、HTTP/2、gRPC、WebSockets 與 raw TCP,且僅需單一連接埠。
  • AI/LLM Mocking: 內建支援模擬 OpenAI、Anthropic、Gemini、Bedrock、Azure OpenAI 與 Ollama 的聊天補全 API。
  • Chaos Engineering: 能夠注入延遲、斷開連接與錯誤,以測試系統韌性。
  • MCP Integration: 包含一個內建的 Model Context Protocol (MCP) 伺服器,供 AI 編碼助手使用。
  • Dynamic Responses: 支援使用 Velocity、Mustache 與 JavaScript 進行響應模板化。"},