一、下载及安装:
运行环境:
- JAVA环境
 - linux
 
下载地址:https://github.com/dreamhead/moco
下载下来的是一个jar包,如:moco-runner-0.12.0-standalone.jar
把这个jar包上传到linux服务器上,然后在与moco-runner-0.12.0-standalone.jar同级的目录下创建 foo.json 文件:
[
  {
    "response" :
      {
        "text" : "Hello, Moco"
      }
  }
]
Moco的运行非常简单,只需要一行命令即可: java -jar 
<path-to-moco-runner>:moco-runner-0.11.0-standalone.jar包的路径<monitor-port>:http服务监听的端口<configuration -file>:配置文件路径java -jar moco-runner-0.12.0-standalone.jar http -p 9999 -c foo.json

通过浏览器访问服务器的9999端口:

返回正确就说明Moco服务搭建成功了。
虽然说服务运行没问题了,但是总觉得启动和停止很麻烦,现在用shell来写一个启动和停止的脚本
启动start.sh:
#!/bin/bash
dirWiremock=`pwd`
getCount=`ps -ef | grep "moco-runner" | grep -v "grep" |wc -l`
wiremock_jar=${dirWiremock}/moco-runner-0.12.0-standalone.jar
port=9999
exe_name=moco-runner
if [ $getCount -ne 0 ]; then
        echo $exe_name is already running with $ssu_pid_count processes
        echo $exe_name started failed
        exit 1;
else
        nohup java -jar ${wiremock_jar} http -p ${port} -c foo.json &
        echo "Start success!......"
fi
停止stop.sh:
#!/bin/sh
exe_name=moco-runner
# 进入可执行目录
base_path=$(cd `dirname $0`; pwd)
cd $base_path
# 停止进程
exe_pid_path=`pwd`
exe_pid_list=`ps -ef | grep $exe_name|grep -v 'grep'|awk '{print $2}'`
our_pid_list=""
for exe_pid in $exe_pid_list
do
        pid_path=`pwdx $exe_pid | awk '{print $2}'`
        if [ "$pid_path"x == "$exe_pid_path"x ]; then
                our_pid_list=$our_pid_list" "$exe_pid
        fi
done
if [ "$our_pid_list"x != "x" ]; then
        kill -9 $our_pid_list
        echo $exe_name process"$our_pid_list" killed
else
        echo $exe_name is not running
fi
运行shell脚本,启动和停止就方便多了。
二、Moco配置
启动服务之后,必然会根据需求stub出各种各样接口反馈,我们会把这个配置放在一个json文件中,启动Moco的时候,需要指定使用的配置文件路径,这样配置就可以生效了。Moco服务可以检测到配置文件的变更,假如你修改了配置文件,不需要重新启动Moco,服务照样可以生效。更详细的配置介绍请查看:https://github.com/dreamhead/moco/blob/master/moco-doc/apis.md
配置文件的工作原理大致如下:

如何在配置文件添加注释
json不支持注释,想要添加注释的话,可以在description字段中加入描述 
约定请求Body

约定接口的uri

约定请求参数

约定请求方法

约定HTTP版本

约定请求头部

约定cookie

约定请求form

表单可以添加多项,多项的时候,必须全部匹配,接口才算匹配成功
约定以指定xml作为请求body

用xpath对请求进行匹配

约定以指定json作为请求body

用正则表达式对请求进行匹配

匹配操作

设置Response content

设置Response 状态码

设置Response HTTP版本

设置Response 头部

设置重定向

设置cookie

挂载文件

 
 
 
 
 
 