AnyMock

一、产品介绍

AnyMock是一个通用接口Mock平台,提供Mock配置和模拟响应的服务。

起源于银行通道接入在所依赖服务不稳定或不可用时模拟系统返回交互报文,保障项目稳定开展和线下环境的稳定业务回路。开源v1.0覆盖了http协议、xml/k-v/json报文格式、同/异步等不同类型的通讯方式,具有可扩展性,可通过脚本语言动态组装响应报文。

使用AnyMock后,服务调用变成了如下的交互方式:

AnyMock具有以下特征

AnyMock平台主要包含两个部分:

AnyMock的系统架构图

二、文档

有关完整文档,示例,博客文章,操作详细信息和其他信息,请参阅wiki

三、AnyMock的开源生态

四、快速开始

1. 如何初始化数据库

执行 anymock_opensource.sql

2. 如何构建

# 更新代码库
git pull

# 编译
mvn clean package

3. 如何安装

mkdir -p output
mkdir -p output/core
mkdir -p output/web

# 拷贝编译产出
cp web/runner/target/anymock-web-runner-1.0-SNAPSHOT.jar output/web/
cp config/web/* output/web/
cp core/runner/target/anymock-core-runner-1.0-SNAPSHOT.jar output/core/
cp config/core/* output/core/

4. 运行AnyMockCore

# 切换到编译产出目录
cd output/core

# 后台运行,其中${env}需替换为配置文件环境名
nohup java -jar anymock-core-runner-1.0-SNAPSHOT.jar --spring.profiles.active=${env} >/dev/null 2>/dev/null &

5. 运行AnyMockWeb

# 切换到编译产出目录
cd output/web

# 1. 下载前端代码库(anymock-fe)!!!,并将anmock-web-config-${env}.yml中的fe.path修改为anymock-fe的dist目录地址
# 2. 后台运行,其中${env}需替换为配置文件环境名
nohup java -jar anymock-web-runner-1.0-SNAPSHOT.jar --spring.profiles.active=${env} >/dev/null 2>/dev/null &

6. 接下来就开始使用吧!

管理后台 :访问 http://${ip}:{web port}/fe/index.html

Mock配置详细介绍和使用文档可参考:AnyMockWeb管理后台

核心服务 :访问 http://${ip}:{core port}/${接口url}

从服务调用方发起业务流程,请求到AnyMock核心服务而非真实要调用的服务提供方的系统.

五、问题和反馈

有关错误报告,问题和讨论,请提交GitHub问题

联系我们: