zmock 功能

模拟出一个不存在的 http 接口,根据请求参数的不同返回对应的数据。

zmock 应用场景

  1. 在接口文档写好后,就可以 mock 出一个接口,以便于客户端开发,且测试人员也可以开始写测试用例。mock 出来的接口也相当于一种契约,服务端与客户端都必须遵守这个 mock 出来的契约。
  2. 当系统中有第三方接口,在做性能测试时,可以 mock 第三方接口,作为性能测试的档板。
  3. 其它。

zmock 介绍

  1. 开发语言及框架:java,spring,easyui
  2. web 容器:tomcat
  3. 部署方式:
  4. 设置

zmock 平台使用说明

接口文档:
请求链接:/api/info/v1
请求方法:post
请求参数示例:{"name":"zhang","age":30}
请求参数说明:

参数名 参数类型 是否必需 示例值
name string zhang
age int 30

响应说明:

  1. 当 name 的值为空或者 age 的值小于等于 0 时,响应: {"retCode":"300","retMsg":"参数不正确"}
  2. 当 name 的值为 zhan 时,响应: {"retCode":"301","retMsg":"数据不存在"}
  3. 当 name 值为 zhang 且 age 的值为 18 时,响应: {"retCode":"301","retMsg":"数据不存在"}
  4. 其它情况下,响应: {"retCode":"200","retMsg":"ok.","data":{}}

以上是一份简单的接口文档,公司不同,文档的要求不同,但我相信大家都应该能看懂这份文档,现在,我们根据这份文档来 mock 一个 http 接口出来:

  1. 点击左上角的 + 号:
  2. 确定后,在菜单中选择或输入测试 DEMO,在 mock 请求 URL 中填写:
  3. mock 请求方法选择 POST:
  4. 在 mock 请求参数模板中:
  5. 在 mock 规则定义中点击新增:
  6. 再增加一条规则:
  7. 最后一条规则:
  8. 保存后,mock 就完成了

mock 完成后,我们来测试一下这个 http 接口:



zmock 的特点

  1. 请求参数模板的定义。根据请求参数模板,来判断请求参数是否正确。 mock 请求参数模板说明:
  2. mock 规则利用表达示来定义。比如/name,/age,这是 json 路径,具体的请参考:https://github.com/zhangfei19841004/zson 表达示所支持的比较符有: == != > >= < <= in contains 表达示方便扩展,如有需要,自行扩展即可。 支持的连接符有:and or (),其中 () 的优先级最高,支持括号里套括号。
  3. 采用文件异步保存数据的方式,且数据都放在内存里,保证接口的响应速度。

zmock 地址


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