写在开头的话
参与客户端开发的都程序员都知道客户端的开发的时候常常要依赖于服务端的开发,经常客户端发开进度受影响,原因有几点:
- 服务端开发人员接口没有写好,自己写测试数据有些场景不太容易满足
- 受网络影响很大,尤其是测试服务器很多不确定因素就挂了
- 测试服务器在远程或是重启服务器耽搁时间
- ………
所以为了解决这种问题我们可以使用moco轻松解决客户端与服务解耦问题,是客户端的开发不在依赖服务端,从而提高开发效率。
1、什么是MOCO
简单的说MOCO是一款基于Java开发、用来简单搭建模拟服务器的程序库。MOCO的目的,旨在解决企业级系统集成测试等方面的问题。不光如此他还有一起其他的应用场景:
就是通过MOCO模拟服务端,实现客户端与服务器端解耦,在移动开发中,有人开发一个移动应用,需要有一个远端服务,但在开发时,这个服务还不存在,他就用Moco模拟了一个服务,保证移动应用可以顺利的开发。
2、如何使用现客户端与服务端的解耦
(1)首先要确保Java环境没有问题,安转JDK,并设置好环境变量
(2)接下来,按照下面的步骤安装MOCO
- 直接下载编译好的 Jar 文件, 下载地址
- 编写配置文件,以简单的 Hello World 为例
将文件以 json 的后缀存储,比如 hello.json 我保存在桌面上。 - 启动Moco服务
在命令行输入 - 访问Web服务
打开浏览器,访问http://localhost:12306
以上只是最简单的一个实现。下面我将介绍一下复杂的实例,也是直接可以用在项目开发中的客户端与服务端解耦的实现。
(3)高级用法
带参数的 HTTP 请求,有些时候我们希望能够在请求的同时,传递相应的参数。这时我们需要用到”queries”关键字
- 编写配置文件
- 启动Moco服务
- 请求数据
就这么简单,只要开发之前和服务器开发人员定义好接口名称,请求参数,放回数据类型和数据格式,完全可以使用moco自己配置一个模拟服务器,简单快速,客户端开发就不再受接口、网速的限制了,这个方法同样适用于前端开发。
在Moco中你还可以发现一些好玩的,或者说高级用法。具体用法还是参考 Moco 的文档。
写在结尾的话
Moco的价值完全不是只有这一点点的,开始说过MOCO的目的,旨在解决企业级系统集成测试等方面的问题,在web开发集成测试方面还有很多用处,感兴趣的可以自己去研究一下,这里有一些关于moco的介绍的连接,希望对你有帮助: