背景

测试过程中,遇到一些接口具备多种功能(不满足单一职责,omz)。在 Java 应该程序中调用该接口两次,但是两次调用的间隔时间较短,来不及手动修改 MOCK 平台的数据。
1.第一次请求,返回结果如下:

{
  "data": {
    "msg": "请求成功",
    "reqId": "61ea110d-a6ae-47f1-ae83-5b5f22da5bd8"
  },
  "result": "1",
  "code": "",
  "msg": ""
}

2.第 2 次调用接口,返回结果如下:

{
  "data": {
    "seqId": "DI-5fa63f7d-41cd-4af2-b871-91309a13d26e",
    "seqNo": "123",
    "userId": "192801",
    "amount": 20000
  },
  "result": "1",
  "code": "",
  "msg": ""
}

备注:data 字段为 JAVA 语言中的 MAP 对象。

mock 数据设置

针对上述问题,其实存在一个很简单的解决方案,将 MOCK 数据设置如下:

{
  "data": {
    "msg": "请求成功",
    "reqId": "61ea110d-a6ae-47f1-ae83-5b5f22da5bd8",


    "seqId": "DI-5fa63f7d-41cd-4af2-b871-91309a13d26e",
    "seqNo": "123",
    "userId": "192801",
    "amount": 20000
  },
  "result": "1",
  "code": "",
  "msg": ""
}

便可满足一次设置 mock 数据,满足两次调用的测试要求。

该黑魔法原理

Map 对象支持添加任意键值,就这么简单!


↙↙↙阅读原文可查看相关链接,并与作者交流