mockserver-monorepo:用于模拟 API 依赖和进行混沌工程的多协议 Mock 服务器和代理
mockserver-monorepo:用于模拟 API 依赖和进行混沌工程的多协议 Mock 服务器和代理
它解决了什么问题
MockServer 提供了一种在不需要实际系统可用、完整或稳定的情况下测试依赖外部 API 的应用程序的方法。它防止了因依赖不可用而导致的开发瓶颈,并允许开发者模拟难以在真实环境中复现的边缘情况,例如网络故障或响应缓慢。
工作原理
MockServer 充当一个可以通过 REST 控制平面进行配置的 HTTP(S) 服务器和代理。它拦截网络流量并执行三项主要功能:
- Mocking(模拟):匹配传入请求(基于方法、路径、头部、正文等),并返回预先配置的响应。
- Proxying(代理):将真实流量转发到目标地址,允许用户在飞行中使用类似调试器的“代理断点”记录、检查和修改请求与响应。
- Chaos Engineering(混沌工程):有意注入延迟、断开连接或错误,以测试应用程序在系统退化时的处理能力。
它支持包括 HTTP/1.1、HTTP/2、gRPC、WebSockets 和原始 TCP 在内的多种协议,并提供针对 AI/LLM 聊天完成 API(如 OpenAI、Anthropic 和 Gemini)的专门模拟功能。
适用人群
该工具面向在集成测试和端到端测试期间需要将应用程序与外部依赖隔离的软件开发人员和 QA 工程师。
亮点
- 广泛的协议支持:处理 HTTP、gRPC、WebSockets,以及 Kafka、MQTT 等消息中间件。
- AI/LLM 模拟:内置对主要供应商的流式聊天完成 API 的模拟支持,以及用于 AI 编码助手的 MCP 服务器。
- 动态响应:支持使用 Velocity、Mustache 和 JavaScript 进行响应模板化。
- OpenAPI 集成:可直接从 OpenAPI/Swagger 规范生成期望。
- 混沌测试:提供注入故障和延迟的工具,用于弹性测试。
- 多平台部署:通过 Docker、Kubernetes(Helm)、JAR 以及各种语言客户端(Java、Python、Node、Go 等)提供。
摘要
一个用于测试的 HTTP(S) Mock 服务器和代理,允许开发者模拟 API 依赖、记录网络流量并进行混沌工程。
标题
mockserver-monorepo:用于模拟 API 依赖和进行混沌工程的多协议 Mock 服务器和代理
Sources
- undefinedmock-server/mockserver-monorepo