1|0什么是Mock?
举一个例子来介绍:在当今,很多项目都是前后端分离的,前端和后端开发好接口后需要联调,前端工程师不可能等到后端工程师完全开发完成再开始联调,而是会利用一个mock技术来模拟后端返回的数据,来完成前端的开发。
2|0moco介绍
Moco 是类似一个Mock的工具框架,一个简单搭建模拟服务器的程序库/工具,下载就是一个JAR包。有如下特点:
- 只需要简单的配置request、response等即可满足要求;
- 支持http、https、socket协议,可以说是非常的灵活性;
- 支持在request中设置uri, method, headers, queries, Cookies, forms等;
- 对GET、POST、PUT、DELETE等请求方式都支持;
- 无需环境配置,有Java环境即可,修改配置后,无需重启,立刻生效;
- 支持多种数据格式,如JSON、Text、XML、File等;
- 可与其他工具集成,如Junit、Maven等。
3|0下载moco
给一个github源码的地址:(PS: 这里需要手动打成jar包。)
4|0配置json文件
因为我们要把这些请求数据和响应数据都写在这个json文件里面,所以事先要先写好,才能启moco服务。
新建一个json文件,文件名随便写一个,内容如下:
5|0命令行启动moco
这里有一个大前提:需要安装好jdk环境,最好版本>=1.8
命令窗口cd到json文件(我这里的json文件就是test.json)、jar包所在的目录,执行:java -jar moco-runner-1.1.0-standalone.jar http -p 6666 -c test.json
有以下输出,表示服务启动成功:
其中:
- -jar 就是表示那个jar包;
- http 表示http协议的接口;
- -p 端口号;
- -c 后面跟的是json文件;
注意:这里的5555端口号可以任意用,但不要和其他已经使用的端口冲突就行。
此时,我们来试着用浏览器访问下:http://127.0.0.1:5555/demo1
这样我们一个get请求的响应值就模拟成功了。
6|0配置不同的请求
配置uri
配置params
配置method
配置request_headers
配置请求体参数form
配置请求参数json
配置uri已XX开头
配置uri已XX结尾
配置uri包含XX
响应码
响应头
重定向
返回json类型数据
7|0mock实战
参考接口文档,写一个登录接口:
Python代码如下:
运行结果:
cmd里面打印的内容:
8|0Mock测试技术总结
Moco还可以通过在json文件中添加cookies、header、重定向这些参数,来模拟各种情况下的请求和返回值,可以根据自己工作的需求去对这些东西进行了解。
Moco是热更新的,所以启动了jar包的服务之后,即使修改了json文件中的内容,也不需要重启服务就生效。
掌握了mock测试的技术,可以让我们在开发没有完成对应接口的时候,有接口文档就提前进入到测试状态,是现在敏捷模式下不可或缺的技术,也是持续集成中一个重要的组成部分。
好了,mock初识到此结束。
转载自:https://www.cnblogs.com/tedliu/p/13255814.html