美文网首页
详解构建mock服务最方便的神器——Moco

详解构建mock服务最方便的神器——Moco

作者: 测试开发Kevin | 来源:发表于2022-08-09 11:54 被阅读0次


moco介绍

moco框架是github上的一个开源项目,可模拟http,https,Socket协议的mock操作。如果大家不了解什么是mock请参考文章:

从0到1学会使用SpringBoot 搭建mock Server

这里重点介绍moco的standolone方式的用法! 下载地址:https://github.com/dreamhead/moco,点击下图中的Download Standalone Moco Runner 即可

启动moco 非常的简单

java -jar moco-runner-<version>-standalone.jar http -p 9999 -c test.json

这个命令也非常容易理解(把test.json放到moco.jar的相同目录即可)

http 表示使用的协议。Moco支持http,https,Socket三种协议

-p 表示使用的端口 ,不使用该参数默认启动端口58593

-c 是定义的mock 请求和与其对应的响应文件,使用json格式,示例如下:

[

{

"request":

{

"uri":"/hello"

},

"response":

{

"text":"moco"

}

}

]

此时我们在浏览器输入:http://127.0.0.1:9999/hello 回看到浏览器中显示信息 moco。这就是最简单的moco mock的实例!大家是不是感觉到使用moco创建mock 简直方便到起飞!

moco命令介绍

常用命令如下:

http实例,前面已经介绍

java -jar moco-runner-<version>-standalone.jar http -p 12306 -c foo.json

https实例

java -jar moco-runner-<version>-standalone.jar https -p 12306 -c foo.json --https /path/to/cert.jks --cert mocohttps --keystore mocohttps

同时处理多个json请求

java -jar moco-runner-<version>-standalone.jar http -p 12306 -c "*.json"

备注:该命令在windows系统中运行报错,建议在linux系统中运行,亲测centos运行正常。

java -jar moco-runner-<version>-standalone.jar http -p 12306 -g settings.json

我们可以统一设置要执行的json文件(即配置文件),当json文件非常多时,这种方式显然能够提升执行效率,具体代码如下:

[

{

"include" : "foo.json"

},

{

"include" : "bar.json"

}

]

更多信息可以参考

https://github.com/dreamhead/moco/blob/master/moco-doc/global-settings.md

其他参数

-q 使用Quiet 模式,该模式下不会显示请求和响应的详细信息

Version 查看moco的版本信息

-s 9527 关闭moco

Json文件常用实例

在一个json文件中设置多个请求,一个get请求,一个post请求并且是json格式,一个是使用了template函数的get请求

[

{

"request":{

"uri":"/withGetDemo",

"method":"get"

},

"response":{

"text":"this is a get method "

}

}

,

{

"request":{

"uri":"/withPostDemo",

"method": "post",

"headers": {

"content-type": "application/json"

},

"json": {

"name": "xiaoming",

"age": "18"

}

},

"response":{

"text":"this is a post method"

}

},

{

"request": {

"uri": "/template"

},

"response": {

"text": {

"template": "${now(\"yyyy-MM-dd\")}"

}

}

}

]

其他api详情请参考

https://github.com/dreamhead/moco/blob/master/moco-doc/apis.md

更多实例请参考

https://github.com/dreamhead/moco/tree/master/moco-runner/src/test/resources

moco的不足

使用moco有二周的时间了,暂时总结了两点不足:

1. 新添加的json文件,不能立即生效,需要重启moco-runner-<version>-standalone.jar,如果多人同时使用moco,新增或者更新mock时,需要协调通知。

2. Mock的请求不能存储到数据库中,对于统计mock历史请求结果不够友好,如果想进一步解决该问题,需要编写代码解析日志来完成对mock请求信息的统计

相关文章

  • 详解构建mock服务最方便的神器——Moco

    moco介绍 moco框架是github上的一个开源项目,可模拟http,https,Socket协议的mock操...

  • moco-runner框架方法使用分享!

    测试的前置往往离不开mock服务的调用 对于moco框架网上大多是下载一个jar包,开启一个moco服务,然后调用...

  • Moco接口框架学习(http协议)

    1.简介 mock用来模拟接口的,本次学习mock用的是moco框架,moco框架是github上的一个开源项目,...

  • 接口测试之Mock Server

    关键词:接口、Mock Server、postman、jmeter、Moco一、Mock的概念现在的软件系统不仅仅...

  • Moco-API

    工作中需要做桩、挡板、Mock,怎么办?使用Moco让这些变得简单。本人介绍Moco常用的JSON配置方法。 请求...

  • Mock

    这里介绍2种mock方法 ,1.使用别人开发好的工具 2. 利用flask建立mock api 1. moco ...

  • Java接口自动化(四)Mock

    Mock接口平台功能介绍: java -jar -Dfile.encoding=UTF-8 moco-runner...

  • Mock-server模拟项目接口配置

    Mock-Server 一 下载地址 moco框架下载地址https://github.com/dreamhead...

  • Mock Server利器 - Moco

    Moco介绍 在开发过程中,经常会使用到一些http网络接口,而这部分功能通常是由第三方开发团队或者是后端同事进行...

  • moco服务器(实现接口mock功能)

    前言 在平时的接口测试工作中,总会遇到存在第三方接口或者服务器端暂未开发完成接口时,这时要测试业务端的功能,可以自...

网友评论

      本文标题:详解构建mock服务最方便的神器——Moco

      本文链接:https://www.haomeiwen.com/subject/ykknwrtx.html