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 进行响应模板化。"},