参考资料
1 简介
Moco是一个简单搭建模拟服务器的程序库/工具,这个基于 Java 开发的开源项目已经在 Github 上获得了不少的关注。该项目的简介是这样描述自己的:Moco 是一个简单搭建 stub 的框架,主要用于测试和集成。这个框架的开发灵感来自 Mock 框架,如 Mockito 和 Playframework。
为什么要开发这个框架?
集成,尤其是基于 HTTP 协议的集成——web service、REST 等,在我们的项目开发中被广泛应用。以前,我们每次都要往 Jetty 或 Tomcat 等应用服务器上部署一个新的 WAR。大家都知道,开发部署一个 WAR 的过程是很枯燥的,即使在嵌入式服务器上也是如此。而且,每次我们做一点改动,整个 WAR 都要重新组装。
Moco 的出现,正是为了解决这些问题。开发团队只要根据自己的需要进行相应的配置,就会很方便得到一个模拟服务器。而且,由于 Moco 本身的灵活性,其用途已经不再局限于最初的集成测试,比如,Moco 可以用于移动开发,模拟尚未开发的服务;Moco 还可以用于前端开发,模拟一个完整的 Web 服务器,等等。
2 环境配置
2.1 获取可运行的 jar 文件
方案一:
直接下载 jar 文件如下图:

方案二:
下载 GitHub 源码,在源码目录运行编译命令获取 jar 文件:
gradle build
最终编译后的 jar 文件所在目录:D:\软件\Moco\moco-master\moco-core\build\libs
2.2 配置文件
GitHub的Readme中有简单的使用方法,需要在目录下配置一个json文件,如:
[
{ "response" :
{ "text" : "Hello, Moco" }
}
]
2.3 启动 moco 的 Http 服务
在下载的jar包目录下运行命令,如下:
java -jar moco-runner-<刚下载jar包版本的版本号>-standalone.jar http -p 12306 -c <配置文件路径>/xx.json
注:
-p 指定moco服务端口,其中http协议默认端口80,https协议默认端口443
-c 配置文件路径及文件名称,.json或者.txt文件均可
如:
java -jar moco-runner-0.12.0-standalone.jar start -p 12306 -c foo.json
访问地址为:http://localhost:12306
如果需要用手机访问,手机和电脑需要在同一局域网下,手机的访问地址为:http://电脑ip地址:12306
注意:更改json文件不需要重启服务,但是如果想访问其他的json文件,需要更改-c后的参数
停止服务:Ctrl + c
如果需要其他的请求配置,如:路径、参数等等,可以参考 GitHub 中的 Documents API 对 json 文件进行配置,然后按请求访问,就会得到对应的响应数据