三方数据的mock环境搭建

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

为什么需要使用Mock环境

在CTU和数据产品的测试中,需要Mock Server来模拟第三方的API接口,来返回指定的信息。目前主要有如下应用场景:

  1. 模拟DX数据平台服务。在测试CTU,数据平台SDK,第三方客户接入集成时,可模拟数据服务API,搭建轻量化的测试环境。
  2. 模拟第三方数据平台服务。在测试CTU或者我们的数据产品时,会经常使用到第三方数据服务。为节省成本和搭建可控的测试环境,需要模拟第三方数据服务的API。

根据以上的使用场景描述,Mock Server需要满足如下需求(后续有其他需求继续添加):

  1. 根据不同的API地址选择不同的返回数据配置。
  2. 同样的API地址,根据请求Body中的不同内容返回不同数据。
  3. 能够获得请求中内容并在结果中返回。
  4. 支持http和https。
  5. 支持GET,POST,PUT,DELETE等常用请求。

下载moco

moco是一个开源项目,可在github上下载到源代码: github.com/dreamhead/m…
然后在下载后的仓库目录中找到 moco/README.md文件,找到最新版本jar包的下载地址。
下载地址为: central.maven.org/maven2/com/…

依赖环境

moco依赖于JAVA环境,因此需要安装(Centos7):
yum install java
yum install java-1.8.0-openjdk-devel

配置并实现所需功能

moco的配置文件均使用json格式。

第三方数据平台服务

moco支持指定全局配置文件,从而不同的URI请求可以获得不同的response。

全局配置文件配置

全局配置例子如下:
其中,context指定URI, include指定对应的URI请求所采用的配置文件。

[ { "context": "/antifraud", "include": "/home/alu/param/antifraud.json" }, { "context": "/nameCarValidate", "include": "/home/alu/param/nameCarValidate.json" } ]

猜你喜欢

转载自juejin.im/post/7017725223596359711