接口模拟之moco框架

接口模拟之moco框架

一、背景

在软件开发中,一般都是前后端分离,但前后端开发进度因为各种原因往往无法匹配,导致前端想调用接口时,后端却还没有开发完毕,此时前端迫切需要模拟出后端反馈的数据,继续推进前端开发工作进度。

在测试工作中,同样存在这样的矛盾,测试工作会受到后端接口开发的限制,所以测试同样需要模拟接口返回数据,推进测试工作进度。

二、环境准备

三、环境搭建

  • 下载安装JDK1.8,并进行环境变量的配置,若安装配置无误,那么在命令行中执行java命令时,会出现相应的提示。
C:\Users\Administrator>java
  • 安装moco,将 moco-runner-0.12.0-standalone.jar 和接口配置json文件放在同一目录下,如图:
  • 启动moco服务

    首先,切换到moco-runner-0.12.0-standalone.jar文件夹,然后执行打开命令行,输入命令

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

执行命令,若显示如下信息,则服务正常启动。

java -jar moco-runner-0.12.0-standalone.jar http -p 8801 -c demo.json

打开浏览器,验证服务是否正常启动,在浏览器中输入访问地址127.0.0.1:8801/demo,注意/demo是demo.json文件中配置的访问接口。

四、常用请求响应格式示例

1、第一个demo示例
[
  {
    "description":"这是一个moco例子",
    "request":{
        "uri":"/demo"
    },
    "response":
    {
        "text":"Hello,Moco",
        "status": "200"
    }
  }
]
2、get请求,不带参数
[
    {
    "description":"这是一个get请求,不带参数",
    "request":{
        "uri":"/WithGet",
        "method": "get"
    },
    "response":
    {
        "headers": {
            "Content-Type": "text/plain; charset=GBK"
        },
        "text":"这是一个GET请求,不带参数",
        "status": "200"
    }
  }
]
3、get请求,带参数
[
    {
    "description":"这是一个get请求,带参数",
    "request":{
        "uri":"/GetWithQuery",
        "method": "get",
        "queries": {
            "username": "john",
            "password": "123123"
        }
    },
    "response":
    {
        "headers": {
            "Content-Type": "text/plain; charset=GBK"
        },
        "text":"这是一个GET请求,带参数",
        "status": "200"
    }
  },
]
4、post请求,带参数
[
    {
    "description":"这是一个post请求,带参数",
    "request":{
        "uri":"/PostWithQuery",
        "method": "post",
        "queries": {
            "username": "john",
            "password": "123123"
        }
    },
    "response":
    {
        "text":"这是一个POST请求,带参数",
        "status": "200",
        "headers": {
            "Content-Type": "text/plain; charset=GBK"
        }
    }
  }
]
5、post请求,不带参数
[
    {
        "description": "这是一个post请求,不带参数",
        "request": {
            "uri": "/WithPost",
            "method": "post"
        },
        "response": {
            "text": "这是一个post请求,不带参数",
            "status": "200",
            "headers": {
                "Content-Type": "text/plain; charset=GBK"
            }
        }

    }
]
6、post请求,带cookie参数
[
    {
        "description": "这是一个post请求,带cookie参数",
        "request": {
            "uri": "/PostWithCookie",
            "method": "post",
            "cookies": {
                "token": "123123"
            }
        },
        "response": {
            "text": "这是一个post请求,带cookie参数",
            "status": "200",
            "headers": {
                "Content-Type": "text/plain; charset=GBK"
            }
        }

    }
]
7、post请求,带forms参数
[
    {
        "description": "这是一个post请求,带forms参数",
        "request": {
            "uri": "/PostWithForm",
            "method": "post",
            "forms": {
                "username": "jake",
                "password": "123123"
            }
        },
        "response": {
            "text": "这是一个post请求,带forms参数",
            "status": "200",
            "headers": {
                "Content-Type": "text/plain; charset=GBK"
            }
        }

    }
]
8、重定向
[
    {
        "description": "这是一个重定向",
        "request": {
            "uri": "/redirect",
            "method": "get"

        },
        "redirectTo": "http://www.baidu.com"

    }
]
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.简介 mock用来模拟接口的,本次学习mock用的是moco框架,moco框架是github上的一个开源项目,...
    飞翼_U阅读 3,503评论 1 1
  • 一、什么是Moco:Moco 是一个搭建模拟服务器的工具,其支持 API 和独立运行两种方式,前者通常是在 jun...
    零下的雨阅读 4,472评论 6 6
  • Mockito简介什么是mock?在软件开发的世界之外, "mock"一词是指模仿或者效仿。 因此可以将“mock...
    燕京博士阅读 3,626评论 0 6
  • 我是服务器小白。不了解真正的服务器是怎么搭建的。但是小编在本文将会讲述如何在十分钟内,在自己的电脑上搭建出服务器。...
    Airfei阅读 4,774评论 20 58
  • Mock平台功能介绍 不仅可给自己使用,还可以给前端使用。 对于测试人员产出!非常重要! Moco框架基本介绍 h...
    小笨笨的花花阅读 1,015评论 0 0