python笔记24-unittest单元测试之mock.patch

前言

上一篇

python笔记23-unittest单元测试之mock

对mock已经有初步的认识,

本篇继续介绍mock里面另一种实现方式,patch装饰器的使用,patch() 作为函数装饰器,为您创建模拟并将其传递到装饰函数

官方文档地址:https://docs.python.org/3/library/unittest.mock.html#the-patchers

patch简介

target参数必须是一个str,格式为’package.module.ClassName’,

注意这里的格式一定要写对,如果你的函数或类写在pakege名称为a下,b.py脚本里,有个c的函数(或类),那这个参数就写“a.b.c”

new参数如果没写,默认指定的是MagicMock

spec=True或spec_set=True,这会导致patch传递给被模拟为spec / spec_set的对象

new_callable允许您指定将被调用以创建新对象的不同类或可调用对象。默认情况下MagicMock使用。

函数案例讲解

1.接着上一篇python笔记23-unittest单元测试之mock,新建一个temple.py,写入以下代码

2.用mock.patch实现如下:

类和方法案例

1.如果前面的temple.py里面不是函数,是写的类和方法,如何去使用mock?

2.用例设计如下

3.相当于函数来说,这里主要多一步,要先对类的名称进行mock一次”a = mock_Zhifu.return_value”,再通过实例去调用方法

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180722G08SH000?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券