场景1:服务端和客户端已经制定了JSON数据的格式,但是数据组还没能给出真实数据,客户端的开发走服务端前面
场景2:客户端工程师已经完成story,而服务端数据一直不正常,影响测试,要在后期接口才能ready
这个时候,我们需要mock服务端的JSON数据,然后方法有很多,比如:
1.自己在本地架起服务器,手动写入一批JSON数据,在客户端工程中把请求路径改为本地
2.使用第三方的服务,比如Mocky,但是如果不能科学上网的话,数据返回很慢
既然mocky是开源的,我们在自己的服务器上搭建呗,我就是来讲下怎么搭建的,不会写scala没关系,不就搭个服务么,哈哈
首先我的环境是centOS6.5,Linode的主机,ip在新加波,没有用国内的云服务的原因很简单,有些请求拿不到数据,总之就是不能科学上网。如果没有自己海外的主机,去买一个吧,一个月也就10刀的样子。
这是mocky.io的源代码地址
PS:($开头的代表可替代的参数)
首先登录你的主机,ssh $username@$ipaddress,然后输入密码,最新的代码仅支持jdk1.8,commit id 是 68adff5ca63bf533b7b84cbc364dcb871c530340
看下java版本java -version,如果是1.8以下,更新吧
以下是卸载jdk1.7更新到jdk1.8的命令
查看已经安装的jdk:yum list installed | grep java
卸载环境:yum -y remove java-1.7.0-openjdk*
查看yum的java源: yum -y list java*
安装1.8的jdk:yum -y install java-1.8.0-openjdk*
然后下载PlayFramework2.4.4的包,应为是https,就用curl命令吧
并解压缩
然后检查下本机有没有安装git,没有的话,yum install git,安装完我这里是1.7版本的
接着clone mocky的最新版本到主机上
完了以后
这里是选择持久化类型,有本地文件系统的,直接存储到云端gist,或者本地mongodb数据库,都行。看说明选一个,我选了用mongdb就配置下,
保存退出
安装mongdb请看我的另一篇文章,service mongod start 把数据库服务开启
输入mongo进入数据库,use mocky1,exit退出。cd到Mocky目录下,
如果你想把命令配置到usr/bin目录下也行,我不常用就没配置。然后慢慢等,过很长一段时间进入activator的console
开启服务,这是开发模式,用浏览器看下是否正常,如果正常,crl+D退出,部署服务
这时log会继续记录,可以退出,服务一直在后台运行。就这么多,赶快去试下吧。
最后记得用charles之类的软件,shift+cmd+m打开URLmapping功能,把要请求的URL mapping到自己刚刚生成JSON数据的URL,客户端代码不要改就能测试,只要server给的JSON数据是按照约定的,前端工程师的story就可以提测了。