大家好,又见面了,我是你们的朋友全栈君。
1,什么是mock测试
mock测试就是对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法
2,mock常见场景
(1)无法控制第三方系统某接口的返回,返回的数据不满足要求
(2)某依赖系统还未开发完成,就需要对被测系统进行测试
3,mock常用工具
(1)单元测试级别的mock工具:Easymock、jMock、Mockito、Unitils Mock、PowerMock、JMockit等
(2)接口测试级别的Mock工具:RAP、Yapi、Moco等
(3)参考网址:https://www.cnblogs.com/finer/p/14127579.html
4,实战
postman 创建一个mock server
(1)创建方法一:
在一个collection下创建mock collection:
创建一个mock server:
配置mock server:
1.输入服务器名字
2.环境默认No Environment(注:选择No Environment是默认将postman的服务器作为默认服务器,如果有自己的服务器也可以填写自己的测试服务器)
3.勾选Save the mock server URL as an environment variable(注:postman将创建一个新的地址,并创建一个环境变量)
4.勾选Make mock server private(注:需要一个x-api-key,把生成的kye放到header中)
5.点击备注中的链接登录到postman官网,生成一个x-api-key
我们得到了一个mock server的地址,也就是说,这个mock server是postman在自己的服务器上为我们创建的,无论我们是否打开postman,我们都可以直接用这个地址来访问mock的API
添加example(response):
添加examlpe之后发送请求,可获取响应结果
可添加多个examlpe
没有添加example时,会有以下提示:
生成x-api-key:
当header中未添加x-api-key时,会有以下提示:
(2)创建方法二:
直接创建 mock server,
并选择一个已存在的collection,
或者新建一个collection
moco-runner下载:
下载地址:
https://repo1.maven.org/maven2/com/github/dreamhead/moco-runner/0.12.0
运行该文件需要java环境
moco 基本属性:
"method", --使用的方法,包含:get、post、delete、head等
"headers", --请求头信息
"json", --json格式的数据,可以在请求和响应中
"factory",
"uri", -- 项目路径。如/postwithparam
"text", -- 文本域,一般用于返回
"cookies", -- cookies信息
"queries", --get方法,传参时用
"forms" --post方法,传参时用
"redirectTo" --重定向到某个地址
"xpaths",
"json_paths",
"version",
"file",
"path_resource",
构造接口:
description描述,request请求,uri请求路径,response返回结果,methond请求方法,header请求头
get请求:
{
"description": "带参数的get请求",
"request": {
"uri": "/getdemo",
"method": "get",
"queries": {
"p1": "1",
"p2": "2"
}
},
"response": {
"text": "这是带参数的get请求"
}
}
post请求
{
"description":"带参数的post请求",
"request":{
"uri":"/postdemo",
"method":"post",
"forms":{
"param1":"one",
"param2":"two"
}
},
"response":{
"text":"这是有参的post请求"
},
"headers":{
"Content-Type":"application/json;charset=utf-8"
}
}
charset=utf-8解决工具中文返回乱码问题
启动moco-runner命令如下:
java -jar moco-runner-0.12.0-standalone.jar http -p 8081 -c login.json
参数说明:
java -jar 是启动jar文件命令
http -p 是访问协议和访问端口号
-c 是模拟的接口文件
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/151401.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...