1.moco简介
Moco是一个简单搭建模拟服务器的程序库/工具
Moco本身支持API和独立运行两种方式。通过使用API,开发人员可以在JUnit、JBehave等测试测试框架里使用Moco,极大程度地降低了集成点测试的复杂度
Moco可以提供以下服务:
HTTP APIs
Socket APIs
REST API
Moco原理简介:Moco会根据一些配置,启动一个真正的HTTP服务(会监听本地的某个端口)。当发起请求满足一个条件时,它就给回复一个应答。Moco的底层没有依赖于像Servlet这样的重型框架,而是基于一个叫Netty网络应用框架直接编写的,这样一来,绕过了复杂的应用服务器,所以,它的速度是极快的
Moco已经在github上开源,可点击连接:https://github.com/dreamhead/moco
官方API文档链接:https://github.com/dreamhead/moco/blob/master/moco-doc/apis.md
2.Moco独立运行所需环境
Moco独立运行时所需准备的有:
Java运行环境
moco-runner-0.11.0-standalone.jar
3.如何运行Moco
A:启动http服务
Moco的运行非常简单,只需要一行命令即可
如在命令行中运行:java -jar http -p -c < configuration -file>
A::moco-runner-0.11.0-standalone.jar包的路径
B::http服务监听的端口
C:<configuration -file>:配置文件路径
服务器上持续运行HTTP服务:nohup java -jar moco-runner-0.12.0-standalone.jar http -p 9981 -g config/global.json>temp.txt &
B:启动https服务
启动https服务,需要先生成证书,并用如下命令启动服务:地方多发呆发地方的地方的地方的发呆发:java -jar https -p -c < configuration -file> --https <path-to-cert.jks > --cert mocohttps --keystore mocohttps
A::moco-runner-0.11.0-standalone.jar包的路径
B::http服务监听的端口
C:<configuration -file>:配置文件路径
D:<path-to-cert.jks>:证书路径
4.Moco HTTP(s) API配置
启动服务之后,必然会根据需求stub出各种各样接口反馈,我们会把这个配置放在一个json文件中,启动Moco的时候,需要指定使用的配置文件路径,这样配置就可以生效了。Moco服务可以检测到配置文件的变更,假如你修改了配置文件,不需要重新启动Moco,服务照样可以生效。
配置文件的工作原理大致如下: