Mock:测试替身
场景:
1、前端开发完了,后端没完,前端怎么办?
自己模拟产品的数据
2、两个不同业务线的后端,A开发的服务需要B开发的数据,A开发完了,B请假了,A怎么办?
A模拟B服务的数据
3、A测试的服务,依赖B业务线的数据,但是B这边请假了,A测试怎么办?
1)A模拟B业务线的数据
2)A自己造数据
消费者通过代码或者工具,来模拟生产者服务来生产数据,那么这样消费者就把调用的请求地址修改为模拟生产者的地址。
以风暴测试平台为例,在前端进行新增产品,模拟后端产生的数据来进行接口测试,步骤如下图所示:
1、请求方法为get
1)编写模拟后端产品接口数据的json文件,如下:
1 [ 2 { 3 "request": 4 { 5 "method":"get", 6 "uri":"/products" 7 }, 8 "response": 9 { 10 "json": 11 [ 12 { 13 "prduct_name":"test platform", 14 "product_type":"WEB", 15 "version":"V1.0.0", 16 "master":"wuyaShare", 17 "description":"This Is A Test Platform" 18 }, 19 { 20 "prduct_name":"test", 21 "product_type":"APP", 22 "version":"V1.0.1", 23 "master":"wuyaShare", 24 "description":"This Is A Test" 25 } 26 ] 27 } 28 } 29 ]
2)进入控制台,通过cd命令进入到存放json文件和jar存放的路径,然后输入
java -jar moco-runner-1.3.0-standalone.jar http -p 12306 -c product.json
命令,运行jar包
3)在postman中发送请求,接口返回数据如下:
2、请求方法为post
1)编写模拟后端登录和产品接口数据的json文件,如下:
1 [ 2 { 3 "request": 4 { 5 "method":"post", 6 "uri":"/login", 7 "json": 8 { 9 "username":"wuya", 10 "password":"admin" 11 } 12 }, 13 "response": 14 { 15 "json": 16 { 17 "token":"aesrtdyfuiopq34w556asdzftfyguhijszdrtyfui", 18 "code":"msg", 19 "data": 20 [ 21 { 22 "username":"wuya", 23 "age":18, 24 "addrss":"xian" 25 } 26 ] 27 } 28 } 29 }, 30 { 31 "request": 32 { 33 "method":"get", 34 "uri":"/products" 35 }, 36 "response": 37 { 38 "json": 39 [ 40 { 41 "prduct_name":"test platform", 42 "product_type":"WEB", 43 "version":"V1.0.0", 44 "master":"wuyaShare", 45 "description":"This Is A Test Platform" 46 }, 47 { 48 "prduct_name":"test", 49 "product_type":"APP", 50 "version":"V1.0.1", 51 "master":"wuyaShare", 52 "description":"This Is A Test" 53 } 54 ] 55 } 56 } 57 ]
2)进入控制台,通过cd命令进入到存放json文件和jar存放的路径,然后输入
java -jar moco-runner-1.3.0-standalone.jar http -p 12306 -c login.json
命令,运行jar包
3)在postman中发送请求,接口返回数据如下: