1、什么是mock测试?
Mock 测试就是在测试过程中,对于某些不容易构造(如 HttpServletRequest 必须在Servlet 容器中才能构造出来)或者不容易获取的比较复杂的对象(如 JDBC 中的ResultSet 对象),用一个虚拟的对象(Mock 对象)来创建以便测试的测试方法。
2、为什么需要做mock测试?
-
需求一:项目初期,接口尚未实现,如何搭建自动化测试框架?
- 当前有登录接口:http://127.0.0.1:8080/login
- 参数:user:账户 pwd:密码
- 上述接口还未实现,如何搭建自动化测试框架进行接口测试?
-
需求二:业务设计到第三方支付接口怎么测试?
- 支付接口:http://127.0.0.1:8080/pay
- 参数:user:用户 amount:金额
3、使用unittest进行mock测试
import requests from unittest import mock url = 'http://127.0.0.1:8000/login' # 账户和密码都正确的情况下 data = {'user':'python','pwd':1234567} # 预期结果 {'code':'0000','msg':'登录成功'} # 实际结果 # response = requests.post(url=url,data=data) # 创建一个mock对象 request = mock.Mock(return_value={'code':'0000','msg':'登录成功'}) # 模拟返回的实际结果 response = request(url=url,data=data) print(response)