为什么要mock
1、已开发完成的模块方法依赖于未开发完成的模块,测试提前介入。
2、模拟服务端返回的一些异常数据。
3、上游接口压测时需要下游接口及时返回数据,满足上游接口的调用频度,依赖接口多时减轻工作量。
什么是mock
使用各种技术手段模拟出各种需要的资源以供测试使用。
什么时候用
适用于接口测试和性能测试,mock一个server,构造一个假的服务返回预期的结果,与代码程序使用的语言无关。
例如:
客户端A 调用 被测系统B,被测系统B依赖外部服务a,b,c,此时,如果依赖服务a,b,c中的任何一个未被开发完,该如何进行测试呢?
解决方案:
在被测系统中加一个mock服务,让mock服务来临时模拟依赖服务a,b,c
如何使用
1、安装并配置jdk环境变量(https://blog.youkuaiyun.com/q_Catherine/article/details/89199256 )
2、上传moco-runner-<版本号>-standalone.jar到linux指定目录
3、创建json文件放到2中指定目录
4、执行命令:java -jar moco-runner-<版本号>-standalone.jar http -p port -c xxx.json
具体适用场景
4中的json可以是哪几种类型呢?
1、get请求不传参
[
{
"request":{"uri":"请求地址"},
"response":{"text":"返回值"}
}
]
2、get请求传参,格式是key=v