一、什么是wire mock
什么是mock技术
对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法,这个对象可以是一个方法,可以是一个接口,我们这里介绍的mock都是接口
Wire-mock是什么?
Wire mock的官网:http://wiremock.org
Mock http apis
二、为什么要使用mock
使用真实环境问题点
1、难于创建(比如复杂的测试环境)
2、不易获?。ǜ丛拥幕袢×鞒蹋?/p>
3、不稳定(几率性的获取失败)
4、前后端分离(前后依赖是并行任务)
三、什么时间什么地方要使用mock
1、难于创建(比如复杂的测试环境)
2、不易获?。ǜ丛拥幕袢×鞒蹋?/p>
3、不稳定(几率性的获取失败)
4、前后端分离(前后依赖是并行任务)
四、怎么使用mock
在代码中直接引用
Maven工程添加依赖
<dependency>
<groupId>com.github.tomakehurst</groupId>
<artifactId>wiremock</artifactId>
<version>2.12.0</version>
</dependency>
或者
<dependency>
<groupId>com.github.tomakehurst</groupId>
<artifactId>wiremock-standalone</artifactId>
<version>2.12.0</version>
</dependency>
指定启动端口
配置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格式文件也可以)