PowerMock是一个Mock Server的实现,它同时支持HTTP与gRPC协议接口的Mock,并提供了灵活的插件功能。 这个工具面向于前后端、测试等对有接口Mock需求的开发人员,也可以作为一个通用的Mock服务,部署在网关架构或API管理平台中,实现降级、接口Mock等功能。
项目地址
功能
作为一个Mock Server,PowerMock具有以下的核心功能:
- 支持 HTTP协议 与 gRPC协议 接口的Mock。
- 支持配置 Javascript 等脚本语言来动态生成响应。
- 支持对一个接口配置多种响应,并按照条件进行区分。
- 匹配条件支持多种运算符(AND/OR/>/</=等)。
- 支持返回静态数据以及 特定领域的随机数据。
- 支持 插件 功能,可以通过编写插件实现其他匹配或Mock引擎。
- 同时提供HTTP与gRPC接口,可以动态对MockAPI进行 增删改查 。
- 开箱即用的Redis存储,并支持自由拓展其他存储引擎,比如MySQL、etcd。
- 同时支持 windows / darwin / linux 的 32 位 与 64 位。
- 语言无关,任何使用HTTP协议或gRPC协议的项目均可以使用本工具。
示例
一、较为高级的用法
本示例可以在 示例代码 找到对应资料 本示例必须使用v8版本的powermock,才能完整支持Javascript的功能
以下面这份配置为示例:
uniqueKey: "advanced_example"
path: "/examples.greeter.api.Greeter/Hello"
method: "POST"
cases:
- condition:
simple:
items:
- operandX: "$request.header.uid"
operator: "<="
operandY: "1000"
response:
simple:
header:
x-unit-id: "3"
x-unit-region: "sh"
trailer:
x-api-version: