unittest之mock测试

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)

原文地址:https://www.cnblogs.com/wanglle/p/12906720.html