一、什么是wire mock
什么是mock技术
对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法,这个对象可以是一个方法,可以是一个接口,我们这里介绍的mock都是接口
Wire-mock是什么?
Wire mock的光网:http://wiremock.org
Mock http apis
二、为什么要使用mock
使用真实环境问题点
1、难于创建(比如复杂的测试环境)
2、不易获取(复杂的获取流程)
3、不稳定(几率性的获取失败)
4、前后端分离(前后依赖是并行任务)
三、什么时间什么地方要使用mock
1、难于创建(比如复杂的测试环境)
2、不易获取(复杂的获取流程)
3、不稳定(几率性的获取失败)
4、前后端分离(前后依赖是并行任务)
四、怎么使用mock
一、在代码中直接饮用
Maven工程添加依赖

com.github.tomakehurst
wiremock
2.12.0
或者
com.github.tomakehurst
wiremock-standalone
2.12.0
指定启动端口:

配置server的response:url,accept,返回码,content-type,body等

打桩
Wire mock的打桩分为Java代码和json api两种方式
1、Java代码的方式,已经实现过了不再累述

2、json api的方式
在工程/test/resources/mappings目录下创建*.json文件


直接http请求json中的url路径即可:


Verify功能用来验证请求的格式是否正确

二、作为服务独立运行
运行
java -jar wiremock-standalone-2.12.0.jar –port 9090 –verbose
详细命令请查看
http://wiremock.org/docs/running-standalone/
配置
在生成的__files和mappings的文件夹下,mappings文件夹下*.json用作request匹配
Response响应分直接body返回和指定file返回
1、直接body返回
2、指定json文件返回(非json格式文件也可以)
网友评论