Mock接口框架的应用实战

一.Mock平台功能介绍
Mock平台可以帮助前端人员进行接口的模拟,本文介绍Moco框架
二.Moco框架基本介绍
Moco框架其实就是一个jar包,到 http://repo1.maven.org/maven2/com/github/dreamhead/moco-runner/0.11.0 网站上去获得,下载moco-runner-0.11.0-standalone.jar

三.Moco的启动及第一个demo

1.创建文件夹MocoDemo

2.将下载的moco-runner-standalone.jar放到MocoDemo文件夹下

3.jar的启动命令

java -jar ./moco-runner-0.11.0-standalone.jar http -p 8888 -c json配置文件路径
http表示协议
-p表示端口号
-c表示json配置文件
4.编写startup.json文件

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

5.运行jar:java -jar ./moco-runner-0.11.0-standalone.jar http -p 8888 -c startup.json后,访问localhost:8888/demo页面上会打印第一个moco框架demo

四.Moco框架的http协议get方法Moco实现

1.模拟不带参数的get方法实现,访问地址:http://localhost:8888/getDemo

 1 [
 2   {
 3     "description":"模拟不带参数的get请求",
 4     "request":{
 5       "uri":"/getDemo",
 6       "method":"get"
 7     },
 8     "response":{
 9       "text":"这是一个没有参数的get请求"
10     }
11   }
12 ]

2.模拟带参数的get方法实现,访问地址:http://localhost:8888/getWithParam?name=huhansan&age=23

 1 [
 2   {
 3     "description":"模拟带参数的get请求",
 4     "request":{
 5       "uri":"/getWithParam",
 6       "method":"get",
 7       "queries":{
 8       "name":"huhansan",
 9       "age":"23"
10       }
11     },
12     "response":{
13       "text":"这是一个带参数的get请求"
14     }
15   }
16 ]

五.Moco框架的http协议post方法Moco实现

1.模拟不带参数的post请求的实现:

 1 [
 2     {
 3         "description":"模拟不带参数的post请求",
 4         "request":{
 5         "uri":"/postDemo",
 6         "method":"post"
 7         },
 8         "response":{
 9         "text":"这是一个不带参数的post请求"
10         }
11     }
12 ]

2.模拟带参数的post请求,注意:携带参数的为forms,不是queries

[
 2     {
 3         "description":"模拟带参数的post请求",
 4         "request":{
 5             "uri":"/postWithParam",
 6             "method":"post",
 7             "forms":{
 8                 "name":"huhansan",
 9                 "sex":"man"
10             }
11         },
12         "response":{
13         "text":"这是一个带参数post的请求"
14         }
15     }
16 ]

六.Moco框架的http协议带cookies信息的实现

1.带cookies信息的get请求

[
    {
        "description":"模拟带cookies的get请求",
        "request":{
            "uri":"/getWithCookies",
            "method":"get",
            "cookies":{
                "login":"true"
            }
        },
        "response":{
        "text":"这是一个需要携带cookie才能访问的get请求"
        }
    }
]

2.带cookies信息的post请求

 1 [
 2     {
 3         "description":"模拟带cookies的post请求",
 4         "request":{
 5             "uri":"/postWithCookies",
 6             "method":"post",
 7             "cookies":{
 8                 "login":"true"
 9             },
10             "json":{
11             "name":"huhansan",
12             "age":"18"
13             }
14         },
15         "response":{
16         "status":200,
17             "json":{
18             "huhansan":"success",
19             "status":1
20             }
21         }
22     }
23 ]

七.带有headers信息的mock请求

 1 [
 2     {
 3         "description":"模拟带headers的post请求",
 4         "request":{
 5             "uri":"/postWithHeaders",
 6             "method":"post",
 7             "headers":{
 8                 "content-type":"application/json"
 9             },
10             "json":{
11             "name":"huhansan",
12             "age":"18"
13             }
14         },
15         "response":{
16         "status":200,
17             "json":{
18             "huhansan":"success",
19             "status":2
20             }
21         }
22     }
23 ]

八.实现请求重定向

1 [
2     {
3         "description":"重定向到百度",
4         "request":{
5             "uri":"/redirect"
6         },
7         "redirectTo":"http://www.baidu.com"
8     }
9 ]

原文地址:https://www.cnblogs.com/heyuling/p/12069523.html

时间: 2024-08-05 17:57:16

Mock接口框架的应用实战的相关文章

mock测试框架Mockito

无论是敏捷开发.持续交付,还是测试驱动开发(TDD)都把单元测试作为实现的基石.随着这些先进的编程开发模式日益深入人心,单元测试如今显得越来越重要了.在敏捷开发.持续交付中要求单元测试一定要快(不能访问实际的文件系统或数据库),而TDD经常会碰到协同模块尚未开发的情况,而mock技术正是解决这些问题的灵丹妙药. mock技术的目的和作用是模拟一些在应用中不容易构造或者比较复杂的对象,从而把测试与测试边界以外的对象隔离开. 我们可以自己编写自定义的Mock对象实现mock技术,但是编写自定义的Mo

在vue-cli搭建的项目中在后台mock接口中支持req.body和req.cookies

在<vue-cli搭建的项目中增加后台mock接口>中实现了后台mock,但是前端post的t数据都要在mock的后台接口中使用req的接收数据事件获取http协议body中的数据. req.on('data', function(chunk){ //接收字节数据 }); req.end('data', function(){ //转换||处理 }); req.error('error', function(e){ //处理错误 }); 如果前端需要使用cookie,后端要读取,那么在后台mo

基于J2EE平台下SSH2+JBPM4.4+ExtJs4.1 框架整合&项目实战

基于J2EE平台下SSH2+JBPM4.4+ExtJs4.1 框架整合&项目实战 推荐给大家一套企业实战项目开发的教程. 课程包含了以下主要的技术面:前端采用Extjs4.x:后台使用目前中小型开发较为常用的SSH2作为框架,囊括了JBPM4.4工作流引擎. 课程经由基础学习向高阶跨进,一步一步介绍了前后台的关系,以及前后台的整合.JBPM的整合等等,都是属于目前较为重要的技术点. 咨询QQ:1609173918 课程大纲: 第1讲:课程概要_Extjs入门: 第2讲:Grid与Store的应用

基于J2EE平台下SSH2+JBPM4.4+ExtJs4.1 框架整合&amp;项目实战(HR项目开发、SSH2作为框架)

对这个课程有兴趣的朋友可以加我的QQ2059055336和我联系 课程讲师:ANDY 课程分类:Java 适合人群:中级 课时数量:46课时 用到技术:Extjs.SSH2.Mvc 涉及项目:HR项目用户管理.Extjs树形结构.流程接口 更新程度:完成 课程包含了以下主要的技术面:前端采用Extjs4.x:后台使用目前中小型开发较为常用的SSH2作为框架,囊括了JBPM4.4工作流引擎.课程经由基础学习向高阶跨进,一步一步介绍了前后台的关系,以及前后台的整合.JBPM的整合等等,都是属于目前较

基于J2EE平台下SSH2+JBPM4.4+ExtJs4.1 框架整合&amp;项目实战

基于J2EE平台下SSH2+JBPM4.4+ExtJs4.1 框架整合&项目实战(HR项目开发.SSH2作为框架) 对这个课程有兴趣的朋友可以加我的QQ2059055336和我联系 课程讲师:ANDY 课程分类:Java 适合人群:中级 课时数量:46课时 用到技术:Extjs.SSH2.Mvc 涉及项目:HR项目用户管理.Extjs树形结构.流程接口 更新程度:完成 课程包含了以下主要的技术面:前端采用Extjs4.x:后台使用目前中小型开发较为常用的SSH2作为框架,囊括了JBPM4.4工作

测试开发系列之Python开发mock接口(一)

本次测试开发系列给大家分享一下怎么用python开发mock接口.本次介绍下什么是mock接口,以及咱们开发之前需要做的准备. 什么是mock接口呢,举个栗子,你在一家电商公司,有查看商品.购物.支付.发货.收获等等等一大堆功能,你是一个测试人员,测测测,测到支付功能的时候,你就要调用第三方支付接口了,真实支付,直接扣你支付宝/微信/银行卡里面的钱了,这下大事不好,测个试还得把自己钱搭进去(当然一般公司都会报销测试的支付费用,但是走报销麻烦),还有一些大额支付的的,可能你账户里面根本就没那么钱,

Mock测试框架(Mockito为例)

在做单元测试的时候,有的时候用到的一些类,我们构造起来不是那么容易,比如HttpRequest,或者说某个Service依赖到了某个Dao,想构造service还得先构造dao,这些外部对象构造起来比较麻烦. 所以出现了Mock! 我们可以用 Mock 工具来模拟这些外部对象,来完成我们的单元测试. 实现Mock技术的优秀开源框架有很多,下面以Mockito为例,用几个简单例子来介绍Mock工具的基本使用: 1.Mockito的第一个示例 1 @Test 2 public void simple

java的mock测试框架

无论是敏捷开发.持续交付,还是测试驱动开发(TDD)都把单元测试作为实现的基石.随着这些先进的编程开发模式日益深入人心,单元测试如今显得越来越重要了.在敏捷开发.持续交付中要求单元测试一定要快(不能访问实际的文件系统或数据库),而TDD经常会碰到协同模块尚未开发的情况,而mock技术正是解决这些问题的灵丹妙药. mock技术的目的和作用是模拟一些在应用中不容易构造或者比较复杂的对象,从而把测试与测试边界以外的对象隔离开. 我们可以自己编写自定义的Mock对象实现mock技术,但是编写自定义的Mo

《jmeter接口自动化与性能实战-飞天小子.pdf》

Jmeter作为开源测试工具,以其轻便,功能齐全的优点,正越来越受到企业的重视.作为纯java的工具,它的扩展性无比强大,既可以做功能测试,也可以做性能测试:既支持接口层面的测试,也支持webdriver驱动浏览器做ui测试.它支持各种协议,各种数据库,甚至于大数据,MQ这些前沿技术也被加入了进来.正因为版本迭代越来越快,功能越来越复杂,所以在实际操作过程中我们会遇到很多困难.而网上的一些教程由于版本过于陈旧,已经不能满足于我们的需求.我在工作之余,耗费了大量个人的时间潜心编写和整理了这套jme