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 是模拟的接口文件

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/151401.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 模拟退火 python_粒子群算法怎么设置约束条件

    模拟退火 python_粒子群算法怎么设置约束条件1、最优化与线性规划最优化问题的三要素是决策变量、目标函数和约束条件。线性规划(Linearprogramming),是研究线性约束条件下线性目标函数的极值问题的优化方法,常用于解决利用现有的资源得到最优决策的问题。简单的线性规划问题可以用Lingo软件求解,Matlab、Python中也有求解线性规划问题的库函数或求解器,很容易学习和使用,并不需要用模拟退火算法。但是,由一般线性规划问题所衍生的整数规划、混合规划、0/1规划、二次规划、非线性规划、组合优化问题,则并不是调用某个库函数都能处理.

    2022年10月13日
    2
  • Jmeter面试题_java面试笔试题

    Jmeter面试题_java面试笔试题一、Jmeter的关联用到了哪些方法去实现?接口的响应结果通常为html和Json格式的数据,主要会用到正则提取器、Json提取器,还有Xpath器以及边界值提取器,还有beanshell来进行数据的提取,而对于html这种响应结果我们通常会用正则或者是Xpath来进行数据的提取;对于Json格式的数据通常会用Json提取器。二、Fiddler断点在工作中有什么作用?主要是用来修改请求和响应数据的,比如我们的VX(微信)发红包功能,其实在前端是设置了一个一分钱到两百块钱的金额限制,当我们做测试的时候想

    2022年9月30日
    2
  • android 转到iphone6s,安卓如何将数据转到iPhone上?

    android 转到iphone6s,安卓如何将数据转到iPhone上?原标题:安卓如何将数据转到iPhone上?同事张明月之前使用的是安卓荣耀手机,不过前几天在更换手机的时候,在别人的建议她入手了一款iPhone12手机。张明月也想见识一下传说中非常流畅的苹果ios系统,她使用了一天后表示这款手机确实比较好用,所以她现在需要把之前荣耀手机中的数据转移到iPhone手机上了。张明月在找了一些“安卓如何将数据转移到iPhone上”的相关问题,发现QQ手机同步助手是可以把…

    2022年9月2日
    4
  • SpringBoot项目中,如何更规范的使用PageHelper分页?

    点击上方“全栈程序员社区”,星标公众号 重磅干货,第一时间送达 作者:臣不贰 blog.csdn.net/NOT_TWO_CHEN/article/details/10923026…

    2021年6月26日
    146
  • IE无法打开internet网站已终止操作的解决的方法

    IE无法打开internet网站已终止操作的解决的方法

    2021年12月4日
    61
  • 数据结构——栈的详解[通俗易懂]

    栈和队列是两种重要的线性结构,从数据结构的角度看,栈和队列也是线性表,其特殊性在于栈和队列的基本操作是线性表的子集。他们是操作受限的线性表,因此,可称为限定性的数据结构。但从数据类型角度看,他们是和线性表大不相同的两类重要的的抽象数据类型。C语言和C++中的栈C语言中的栈栈的定义C语言中栈的基本操作栈的初始化判断是否为空栈判断是否为满栈入栈出栈C语言实现栈的具体代码C++中的栈C++中栈的基…

    2022年4月6日
    61

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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