mock测试工具

mock测试工具什么是mock测试mock常见场景mock常用工具实战1,什么是mock测试mock测试就是对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法2,mock常见场景(1)无法控制第三方系统某接口的返回,返回的数据不满足要求(2)某依赖系统还未开发完成,就需要对被测系统进行测试3,mock常用工具(1)单元测试级别的mock工具:Easymock、jMock、Mockito、UnitilsMock、PowerMock、JMockit等(2)接口测试级别的.

大家好,又见面了,我是你们的朋友全栈君。

  1. 什么是mock测试
  2. mock常见场景
  3. mock常用工具
  4. 实战

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账号...

(0)


相关推荐

  • 利用griddata进行插值

    利用griddata进行插值因为最近在做算法优化,所以对数据统一性有一定要求,在最近的研究中主要用一个简单的最近邻插值对数据集进行降尺度处理。主要运用到的函数时scipy里面的griddata第一步:导入相关库importxarrayasxrfromscipy.interpolateimportgriddata#插值函数importnumpyasnp第二步:给出插值到的经纬度信息(目标经纬度)mask_tmp=xr.open_dataset(‘G:/China/temperatu

  • Velocity常用语法「建议收藏」

    Velocity常用语法「建议收藏」一、基本语法1、"#"用来标识Velocity的脚本语句,包括#set、#if、#else、#end、#foreach、#end、#iinclude、#parse、#macro等;如:#if($info.imgs)<imgsrc="$info.imgs"border=0>#else<imgsrc="noPhoto.jpg">#end2、"$"用来标识一个对象(或理解

  • 您不具有该 Vuser 类型的许可证. 请与 HP Software 联系以更新许可证.

    您不具有该 Vuser 类型的许可证. 请与 HP Software 联系以更新许可证.

  • centos7.4安装docker_docker安装python库

    centos7.4安装docker_docker安装python库前言当我们在一台电脑上搭建了python3.6的环境,下次换台电脑,又得重新搭建一次,设置环境变量等操作。好不容易安装好,一会提示pip不是内部或外部命令,一会又提示pip:commandno

  • 儿童节快乐,2018过的真快

    我们也曾是儿童,也过过儿童节!儿童节,现在回想起来怎么都没有任何印象!儿童节让我想到了自己的小时候,自己的小学,三年级前上学的地方还离家很近,之后到了另一个地方上学,每天早上要很早起床,尤其是冬天的时候天还没有亮(北方的那个冬天的早上,真是冷啊,记得最冷的时候早上去上学的路上,冷的不行了,先打一堆火,烤一会再走),小时候早上上学的时候,妈妈就很早起床给我做早饭了,我吃过早饭然后去上…

  • 回溯法解决01背包问题算法_01背包问题伪代码

    回溯法解决01背包问题算法_01背包问题伪代码0-1背包问题,在搜索过程中使用递归来完成。packagecom.test;classPack{intn=8;//物品个数intW=110;//背包总容量int[]Weights={1,11,21,23,33,43,45,55};//重量数组int[]Values={11,21,31,33,43,53,55,65};//价值数组intbestValu…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号