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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 学习笔记 | 非负矩阵分解(NMF)浅析

    学习笔记 | 非负矩阵分解(NMF)浅析这篇博客简单地介绍非负矩阵分解(NMF),包括背景说明、NMF原理简介、代码分享以及NMF在一个趣味问题中的解决方案。

    2022年6月26日
    31
  • Eureka&CAP原理

    Eureka&CAP原理CAP原则(CAP定理):CAP原则又称CAP定理,指的是在一个分布式系统中,Consistency(一致性)、Availability(可用性)、Partitiontolerance(分区容错性),三者不可得兼。CAP原则是NOSQL数据库的基石。Consistency(一致性)。Availability(可用性)。Partitiontolerance(分区容错性)。分布式系

    2022年5月19日
    47
  • 简易的倒计时代码_简单的网页代码

    简易的倒计时代码_简单的网页代码在一些活动项目中,大多会涉及倒计时。以下为倒计时代码,供小白参考。关键词:计时器、时间差具体代码如下:<!DOCTYPEhtml><html> <head> <metacharset="utf-8"/> <title>倒计时代码</title> <styletype="te

    2022年4月19日
    55
  • spel表达式的用法_substring用法

    spel表达式的用法_substring用法SPEL运算符运算符类型运算符算术运算+、-、*、/、%、^关系运算<、>、==、<=、>=、lt、gt、eq、le、ge逻辑运算and、or、not、|条件运算?:(ternary)、?:(Elvis)正则表达式matchesdemo数值运算<!–+运算符:两个数字相加–><propertyname=”adjustedAmount”value=”#{counter.total+42}

    2025年10月28日
    2
  • 电容的分类及作用_热敏电阻的工作原理及作用

    电容的分类及作用_热敏电阻的工作原理及作用旁路旁路电容是为本地器件提供能量的储能器件,它能使稳压器的输出均匀化,降低负载需求。就像小型可充电电池一样,旁路电容能够被充电,并向器件进行放电。为尽量减少阻抗,旁路电容要尽量靠近负载器件的供电电源管脚和地管脚。这能够很好地防止输入值过大而导致的地电位抬高和噪声。地电位是地连接处在通过大电流毛刺时的电压降。去耦去耦,又称解耦。从电路来说,总是可以区分为驱动的源和被驱动的负载。如果

    2022年8月22日
    6
  • case when 判断_sqlservercase用法

    case when 判断_sqlservercase用法casewhen简单用法—改变结果SELECTCASE id WHEN21THEN ‘aaaaa’ WHEN22THEN ‘bbbbb’ELSE’其他’ END FROM hrmresource WHERE id=23casewhen复杂用法—执行不同的sqlSELECT ( CASE WHENa.id=21THEN (SELECTidFROMhrmresourceWHEREidIN(21

    2025年9月16日
    5

发表回复

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

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