MockServer之moco-runner

  • MockServer
    • mock是什么
    • mock 使用场景
  • Mock Server框架 moco
    • moco框架介绍及运行
    • 配置https服务

MockServer

MockServer是一种模拟真实服务器行为的虚拟服务器。它用于测试目的,使开发人员能够在不使用真实服务器的情况下测试其应用程序的功能。

mock是什么

对于某些不容易构造或者不容易获取比较复杂的对象,可以采用虚拟的对象(mock对象)来创建以便测试的测试方法

mock 使用场景

为什么要使用mock呢?

  1. 单元测试中使用
    比如我们要mock某个方法,如果其他方法调它是我们直接返回一个mock的。

  2. 客户端测试过程中
    比如服务端没开发完成,我们就可以mock这样的接口出来。还有就是功能测试过程中有一些异常场景我们也可以mock来实现造数据。

  3. 某三方接口所有方法都需要Mock
    比如支付系统中需要异步调取第三方支付来获取结果,在测试过程中就可以mock第三方接口模拟成功或者失败的场景。

Mock Server框架 moco

Moco 是一个简单搭建 stub 的框架,主要用于测试和集成。Moco本身支持API和独立运行两种方式。通过使用API,开发人员可以在JUnit、JBehave等测试测试框架里使用Moco,极大程度地降低了集成点测试的复杂度

Moco可以提供以下服务:

支持http、https、socket;
支持设置headers、cookies、statuscode;
支持GET、POST、PUT、DELETE请求;
只需JRE环境即可运行;
支持热更新;
支持json、xml、text、file数据格式;
能与JUnit、Maven、Gradle集成。

本文旨在介绍Moco独立运行的方式如何搭建和使用

moco框架介绍及运行

环境说明:
需先安装JDK并配置环境变量。
moco下载地址: https://repo1.maven.org/maven2/com/github/dreamhead/moco-runner/1.1.0/

如下图所示:

mock目录结构

C:\moco-runner\├─moco-runner-1.1.0-standalone.jar└─moco.json

在本地新建moco-runner文件夹,将下载好的moco-runner-1.1.0-standalone.jar放入文件夹,然后新建moco.json配置文件。

[{"description": "这是我们的运行demo","request": {"uri": "/demo"},"response": {"text": "第一个moco框架demo"}}
]

字段说明:
description是描述
request是请求
uri是请求路径
response是返回结果
text是返回的是文本类型内容

moco启动服务

java -jar  ./moco-runner-1.1.0-standalone.jar 协议类型 -p 端口号 -c json配置文件

参数说明:
java -jar 是启动jar文件命令
http -p 是访问协议和访问端口号
-c 是模拟的接口文件

配置https服务

生成https证书文件

keytool -genkey -alias cps.cer -keyalg RSA -keystore C:\Users\chengpeisheng\.keystore\chengpeisheng.cer -keysize 1024
-validity 99999

参数说明:
-alias 别名,每个证书都要起自己独有的名字
-keyalg 如果是RSA算法,那么就是RSA
-keystore 填写完整的keystore文件保存路径已经文件名
-keysize 密钥长度,一般1024
-validity 有效天数

之后会让输入 密钥库的密码,连续输入两遍,填写 项目,姓名,组织机构,城市等等,最后会要求输入 证书 的密码
如下图所示:

JKS密钥库使用专用命令再次尝试:

keytool -importkeystore -srckeystore C:\Users\chengpeisheng\.keystore\chengpeisheng.cer -destkeystore C:\Users\chengpeisheng\.keystore\chengpeisheng.cer -deststoretype pkcs12

如下图所示:

这样证书就生成成功,可以去目录查看。操作如下:

启动https服务
进入moco-runner-1.0.0-standalone.jar所在目录,然后进入cmd 界面,输入启动https服务的命令

java -jar moco-runner-1.0.0-standalone.jar https -p 443 -c api_config.json --https C:\Users\chengpeisheng\.keystore\chengpeisheng.cer --cert 528938 --keystore 528938

命令解释:

【443】https服务默认开启的是443端口
【C:\Users\chengpeisheng.keystore\chengpeisheng.cer】cer证书所在路径
【 --cert 528938】密钥库的密码
【–keystore 528938】证书/密钥的密码
配置本地hosts文件

然后在本地的hosts文件里设置本地ip对应的域名

本文配置https服务部分参考文章:https://blog.csdn.net/CPS1016347441/article/details/102154691

Mock神器之Moco使用操作相关推荐

  1. oracle aul 索引,ORACLE恢復神器之ODU/AUL/DUL

    分享ORACLE數據庫恢復神器之ODU.DUL和AUL工具. ODU:ORACLE DATABASE UNLOADER DUL:DATA UNLOADER AUL:也稱MyDUL 關於三種工具說明: ...

  2. pyquery获取不到网页完整源代码_爬虫神器之PyQuery实用教程(二),50行代码爬取穷游网...

    爬虫神器之PyQuery实用教程(二),50行代码爬取穷游网 前言 上篇文章 PyQuery (一) 回顾.今天来介绍具体 PyQuery 的使用方法. 穷游网目标与分析 开始之前,按照之前的套路一步 ...

  3. 渗透测试神器之metasploit

    渗透测试神器之metasploit metasploit是什么? msf是一款开源安全漏洞利用和测试工具,继承了各种平台上常见的溢出漏洞和流行的shellcode,并持续保持更新. metasploi ...

  4. oracle数据库恢复aul_ORACLE恢复神器之ODU/AUL/DUL

    分享ORACLE数据库恢复神器之ODU.DUL和AUL工具. ODU:ORACLE DATABASE UNLOADER DUL:DATA UNLOADER AUL:也称MyDUL 关于三种工具说明: ...

  5. Mock工具之Moco使用教程

    目录 一.什么是Moco 二.安装&配置 三.接口配置&测试 3.1 第一个简单的请求: 3.2 Get请求: 3.3 Post请求: 3.4 返回值为Json格式的请求: 3.5 带 ...

  6. APP稳定性测试神器之Monkey-随机事件测试

    APP稳定性测试神器之Monkey-随机事件测试 Monkey是Android中的一个命令行工具,可以运行在模拟器里或者现实设备中,向系统发送伪随机的用户事件流(点击.滑动.Application切换 ...

  7. python pyquery不规则数据的抓取_爬虫神器之PyQuery实用教程(二),50行代码爬取穷游网...

    爬虫神器之PyQuery实用教程(二),50行代码爬取穷游网 前言 上篇文章 PyQuery (一) 回顾.今天来介绍具体 PyQuery 的使用方法. 穷游网目标与分析 开始之前,按照之前的套路一步 ...

  8. shell脚本编程神器之awk语法案例详解

    AWK入门指南 文章目录 shell脚本编程神器之awk语法案例详解 安装AWK AWK 起步示例 AWK程序的结构 执行 awk 程序 awk 的错误提示 简单输出 打印每一行 打印特定行 NF,字 ...

  9. 企业知识分享+团队协作神器之Confluence

    目录​​​ 一.Confluence简介 二.知识库软件对比 三.快速安装confluence 7.4.6版本 四.confluence基本操作简介 4.1.创建空间(Space) 4.2.配置空间权 ...

最新文章

  1. Hadoop中Writable和WritableComparable区别
  2. List列表 OrderBy
  3. 数据中心变得更加灵活和可靠的五种方式
  4. 【笔记】springboot+spring security登录流程实现
  5. HTML引入媒体查询CSS,CSS3 多媒体查询
  6. centos中使用rpm包或yum命令在线安装的软件默认是安装在那个目录下
  7. 视频讲解(RCNN,FasterRCNN,FPN,MaskRCNN)
  8. 使用rsync完成内网数据备份
  9. OllyDBG 入门
  10. 骇基-黑客攻防实战入门⑴
  11. 数据结构1800试题(第3章)
  12. SQL常用连接查询(JOIN)
  13. 《自抗扰控制技术》——第二遍(仿真)
  14. 商家APP店内点餐开启有桌台点餐模式
  15. CharNet阅读笔记
  16. SQL server中提示对象名无效
  17. 《算法技术手册》一1.3.5 融会贯通
  18. 东方博宜OJ 1056 - 【入门】所有不超过1000的数中含有数字3的自然数
  19. servlet3.1规范翻译:第13章 安全
  20. 不知道视频转文字软件哪个好用?视频转文字软件大分享

热门文章

  1. 免费泊链ParkingOS开源停车云「Java语言」曾经实践过。
  2. Linux查看网关方法
  3. 菲涅尔公式应用,结合简单的pbr公式,制作水shader
  4. 一些在线系统的计时操作的实现(spring-boot计时器使用,时间戳比较先后)
  5. android弧形左右滑动空间,自定义LayoutManager 实现弧形以及滑动放大效果RecyclerView...
  6. 用回款考核项目经理意味着什么?
  7. 碳通宝:银行推出碳减排工具撬动资金投向低碳领域
  8. JavaScript的隐式转换
  9. yolo格式数据集处理(xml转txt)
  10. java添加文档注释_添加Java文档注释