python之mock

猴子补丁:函数或者对象已经定义好列,再去改变他们的行为

 

先来看一下本文的整体框架:
这里写图片描述

为什么要使用mock?
场景模拟1:比如有A和B两个模块,A模块中有调用到B模块的方法,但是很不幸,B模块中被A模块调用的方法由于一定的原因需要被修改,然而我们又不想让影响A模块的功能测试,所以就用到了单元测试模块unittest中的mock模块;mock模块就是模拟出一个假的B模块;
场景模拟2:有时需要为单元测试的初始设置准备一些其他的资源,但是这些资源又不太经常使用或者是使用起来比较笨拙,此时我们就可以定义一个mock对象来模拟一个需要使用的资源;mock对象用于代替测试的准备资源;
下边先来看一下mock对象都有哪些属性?知道这些属性,后续使用mock才会得心应手;
这里写图片描述
网上看到有人将mock的方法进行了分类:
这里写图片描述


一、构造器

init是mock对象的构造器,name是mock对象的唯一标识;spec设置的是mock对象的属性,可以是property或者方法,也可以是其他的列表字符串或者其他的python类;return_value设置的是,当这个mock对象被调用的时候,显示出的结果就是return_value的值;side_effect是和return_value是相反的,覆盖了return_value,也就是说当这个mock对象被调用的时候,返回的是side_effect的值,而不是return_value。
举例说明:
1.name参数:
这里写图片描述
从上述的

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值