简介
在web项目中,会用到第三方的接口,那么在开发或者测试时,如何对第三方的接口进行mock呢?
mock是假装,模拟的意思
通过mock手段,可以让接口返回指定的数据,使业务测试流程得以顺利跑通
由于接口返回数据可控可改,测试就可以覆盖到所有分支/用例
最直接的做法是让接口提供者配合,一般难度极大
在此引入一神器–Fiddler网络代理+http请求断点的功能
Fiddler可以对本机上发出及收到的接口进行拦截(断点)
- bpu指令: 对指定URL进行请求前拦截,修改用户提交到服务端的数据,即Request值
- bpafter指令: 对指定URL进行请求后拦截,修改修改服务端返回的值,即Response值
实现步骤
- 开启本机网络监控并建立拦截规则
拦截的URL可以支持正则表达式
- 对规则设置拦截动作
对请求响应可以有多种处理方法,可以断点然后选择一个处理策略 可以指定一个文件,此处直接指定模拟数据的文件 这里我们想要接口返回期望的数据,所以选择准备好的mock数据文件
- 在测试机开启网络代理
export http_proxy=http://{ip}:{port}
- 测试被拦截接口的返回值
- 测试没被拦截接口的返回值
- 关闭测试机网络代理
unset http_proxy
- 测试被拦截接口的返回值