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


相关推荐

  • Android—Gradle教程(九)完结篇

    Android—Gradle教程(九)完结篇前言到目前为止,Gradle基础以及Kotlin基础讲解完毕。因此,在本篇里,将会以Gradle的构建优化以及如何从Groovy迁移到KTS进行详解!话不多说,直接开始!1、Gradle构建优化优化都是些配置,快速过一下就行了!重点在迁移KTS1.1并行编译开启默认情况下Gradle处理多模块时,往往是挨个按顺序处理。在项目根目录下面的gradle.properties中设置开启并行编译,提升编译速度:org.gradle.parallel=true1.2开启编译守护进程(默认开启)

    2022年6月28日
  • 数据库隔离级别有哪些,各自的含义是什么,MYSQL默认的隔离级别是是什么。

    数据库隔离级别有哪些,各自的含义是什么,MYSQL默认的隔离级别是是什么。一、什么是事务事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做。事务的结束有两种,当事务中的所以步骤全部成功执行时,事务提交。如果其中一个步骤失败,将发生回滚操作,撤消撤消之前到事务开始时的所以操作。二、事务的四个特性事务具有四个特征:原子性(Atomicity)…

    2022年5月25日
  • 什么是断点续传?前端如何实现文件的断点续传「建议收藏」

    什么是断点续传?前端如何实现文件的断点续传「建议收藏」什么是断点续传?就是下载文件时,不必重头开始下载,而是从指定的位置继续下载,这样的功能就叫做断点续传。断点续传的理解可以分为两部分:一部分是断点,一部分是续传。断点的由来是在下载过程中,将一个下载

    2022年7月3日
  • GPS数据格式转换[通俗易懂]

    GPS数据格式转换[通俗易懂]经纬度格式分为三种:度、 度-分、  度-分-秒 1.)ddd.ddddd °【度.度 格式】的十进制小数部分(5位) 2.)ddd°mm.mmm’ 【度分.分 格式】的十进制小数部分(3位) NMEA数据格式为$GPGGA时,得到gps数据为(度分.分)格式 3.) ddd°mm’ss’’ 【度.分.秒 格式】 Goog

    2022年6月16日
  • ORACLE触发器详解

    ORACLE触发器详解本文对原文做了格式和目录调整方便阅读。文章总结的很全面,感谢原作的辛勤付出!!!原文链接:http://www.cnblogs.com/huyong/archive/2011/04/27/2030466.html#!comments——————————————————————————–…

    2022年7月11日
  • anaconda卸载方法

    anaconda卸载方法卸载anaconda

    2022年6月15日

发表回复

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

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