mock测试
unittest中mock测试核心对象是mock.Mock()
一、什么是mock测试
mock是在测试过程中,对于一些不容易构造/获取的对象,创建一个mock对象来模拟对象的行为
二、什么情况下会用到mock
单元测试/接口测试中测试对象依赖其他对象,这些对象的构造复杂、耗时、或者根本无法构造(未交付)
- 应用场景一:项目初期,某个复杂的接口概念尚未实现?只有接口文档,此时如何开展自动化工作
- 登录接口:http://127.0.0.1:8000/login
- 参数:user:账号 pwd:密码 sign_id:通过秘钥进行加密生成用户签名
- 返回值:{"code":1,"msg":"登录成功"}
- 上述接口还未实现,开发还未把生成的用户签名给到我们,如何进行自动化工作?
- 应用场景二:项目开发时涉及到第三方支付接口,开发阶段进行如何调试?
- 支付接口:http://127.0.0.1:8000/pay
- 参数 说明
- user_id 用户id
- money 支付金额
- pay_pwd 支付密码
- 支付宝支付接口:https://docs.open.alipay.com/api_1/alipay.trade.pay
- 应用场景三:前端开发人员实现将前端页面全部写好了,后台接口还没有实现,前端人员想调试页面显示效果,没有数据怎么办?
- 根据接口文档搭建mock服务器,构造一些假数据,前端直接请求mock服务器接口,获取数据,进行页面调试