Mock服务测试之moco框架的使用

2019年9月26日 0 条评论 228 次阅读 1 人点赞

Mock测试&Moco框架

mock测试:mock这个单词有“模拟”,“虚假”的意思,百度百科的定义mock测试指在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法。简言之就是在前后端联调之前,供给前端使用的一个虚假的数据接口服务。moco框架:moco是一个搭建模拟服务器的工具,它是GitHub上的一个开源项目,可模拟http,https,socket协议。其支持API和独立运行(standalone)两种方式,前者通常是在junit等测试框架中使用,后者则是通过运行一个jar包开启服务,本文使用的是standalone方式,更多用法可参考https://github.com/dreamhead/moco/blob/master/moco-doc/usage.md

Moco的启动和demo

github上下载moco的jar包,Standalone Moco Runner下载地址,将jar包放在某个目录下,在同目录下新建json配置文件:demo.json,

将该目录用VS Code等编辑器或者终端程序打开,在终端中执行如下命令:java -jar jar包文件  协议类型  -p 端口号 -c json文件,如本文的例子命令为

java -jar moco-runner-1.0.0-standalone.jar http -p 12306 -c demo.json

如图所示则为运行成功,在浏览器中输入127.0.0.1:12306/demo就能获取到text数据值"Hello,Moco",但是有部分中文数据出现了乱码,如果你安装了JDK,可以用WebStorm或者IDEA打开该目录,输入java -jar -Dfile.encoding=UTF-8 ./moco-runner-1.0.0-standalone.jar http -p 12306 -c demo.json便可解决该问题。另外我们还可以修改hosts文件来实现fake一个域名地址,Windows操作系统找到C:\Windows\System32\drivers\etc目录,将hosts文件用管理员权限打开并在最后添加一段映射,格式是跳转的ip地址 被修改的域名,如图所示

这样通过data.com能跳转到我们的本地127.0.0.1的内容,同时我们在开启moco的命令中把端口改为80,就可以在本地通过域名访问接口啦

常见请求示例

Get请求

后者的url为/wihtGetDemobyParam?p1=hh&p2=good,返回值是"this is a get method with paramter"

Post请求

和Get请求不同的是,此处用forms替换了queries,也可以使用json格式,但切记也用再次访问也用json格式传参

带Cookies的请求

如出现跨域问题,加入如下头部即可

参考链接https://blog.csdn.net/qq_32706349/article/details/80472445https://www.jianshu.com/p/2270360a827f

Hungway

Hungway

If not me,who?If not now,when?

文章评论(0)