python接口自动化测试 - mock模块基本使用介绍

本文详细阐述了mock在软件开发中的作用,包括解决接口依赖问题、模拟复杂业务接口、单元测试和前后端联调场景。介绍了Mock类的使用方法,以及如何在不同情况下模拟函数行为,如返回值、异常和多值返回。还涉及了mock装饰器在测试中的应用和一个支付功能的测试示例。
摘要由CSDN通过智能技术生成

mock作用

解决依赖问题,达到解耦作用

当我们测试某个目标接口(模块)时,该接口依赖其他接口,当被依赖的接口未开发完成时,可以用mock模拟被依赖接口,完成目标接口的测试

模拟复杂业务的接口

当我们测试某个目标接口(模块),该接口依赖一个非常复杂的接口时,可以用mock来模拟这个复杂的业务接口;也解决接口依赖一样的原理

单元测试

如果某个接口(模块)未开发完成时,又需要编写测试用例,则可以通过mock模拟该接口(模块)进行测试

前后端联调

前端开发的页面需要根据后端返回的不同状态码展示不同的页面,当后端接口未开发完成时,也可通过mock来模拟后端接口返回自己想要的数据

mock类解读

class Mock(spec=None,side_effect=None,return_value=DEFFAULT,name=None) 

  • secp:定义mock对象的属性值,可以是列表,字符串,甚至一个对象或者实例 
  • side_effect:可以用来抛出异常或者动态改变返回值,它必须是一个iterator(列表),它会覆盖return_value
  • return_value:定义mock方法的返回值,它可以是一个值,可以是一个对象(如果存在side_effect参数那这个就没有用,也就是不能同时用)
  • name:作为mock对象的一个标识,在print时可以看到

mock实际使用

一个未开发完成的功能如何测试?

 1 def add(self, a, b):
 2     """两个数相加"""
 3     pass
 4 
 5 
 6 class TestSub(unittest.TestCase):
 7     """测试两个数相加用例"""
 8 
 9     def test_sub(self):
10         # 创建一个mock对象 return_value代表mock一个数据
11         mock_add = mock.Mock(return_value=15)
12         # 将mock对象赋予给被测函数
13         add = mock_add
14         # 调用被测函数
15         result 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值