Skip to content
ReneJiang edited this page Apr 3, 2019 · 6 revisions

AnyMock是什么

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

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

AnyMock的历史

2014 年,AnyMock 诞生,主要用于银行通道接入测试,解决所依赖服务不稳定或不可用问题,保障项目稳定开展和线下环境的稳定业务回路。

2015-2018 年,AnyMock 在百度金融事业部和度小满金融内部迅速发展,成为基础技术模块,提供了功能测试、异常测试、自动化测试和性能测试解决方案。AnyMock在这个过程中也积累了大量工具类以及使用场景实践。

2019 年,AnyMock 开源。开源v1.0覆盖了http协议、xml/k-v/json报文格式、同/异步等不同类型的通讯方式,具有可扩展性,可通过脚本语言动态组装响应报文

AnyMock具有以下特征

  • 解决外部依赖: 在外部系统不稳定或者不可用的情况下,使用AnyMock来替代,可以保证项目如期推进。
  • 构造异常测试: 在交互复杂的线下测试环境,使用AnyMock替代真实数据,可以以较小的代码构造异常的数据、覆盖更多的业务分支和异常场景。
  • 支持性能测试: 在线上环境进行压测,使用AnyMock替代依赖下游服务,可以屏蔽对下游服务的影响,压出被压服务自己的性能数据。
  • 稳定自动化测试: 在依赖较多的线下自动化测试环境,使用AnyMock替代下游测试服务,可以最大保障自动化case运行的环境稳定性。
  • 降低测试成本: 在外部系统调用代价较高时,使用AnyMock解耦与外部系统的依赖,降低真实调用的测试成本。

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

  • 接口管理后台即AnymockWeb系统,主要提供Mock配置和管理。展示已有节点空间、接口的信息,并对这些接口的详细内容进行查看、修改或者新增接口。
  • 服务核心系统AnymockCore,接收上游请求,模拟响应的服务。承担所有核心流程处理、及对应的数据输出。

AnyMock的系统架构图

Clone this wiki locally