python-unittest.mock相关内容

Python单元测试-模拟VS补丁

使用mock.Mock()与mock.patch()有什么区别? 何时使用mock.Mock()以及何时使用mock.patch() 我读到过,Mock用来替换当前作用域中使用的内容,VS,Patch用来替换导入和/或在另一个作用域中创建的内容。有人能解释一下这是什么意思吗? 如果我们在单独的测试文件中进行测试,那么被测试的每个类方法、静态方法、测试方法不都是从dev/Produ ..
发布时间:2022-07-20 14:37:52 Python

Python unittest的设置函数不使用在类上声明的模拟

所以我在编写单元测试时遇到了设置函数方面的问题。在我看来,它应该只是在你的函数之前执行代码,所以我可以把任何重复的东西放在里面。然而,这个函数似乎并没有将我作为补丁修饰器创建的模拟应用到整个类上。这是我希望它看起来是什么样子的一小部分: @patch('geomet_data_registry.layer.base.get_today_and_now', new=mocked_get_dat ..

模拟一系列相互依赖的调用

我有一种方法可以抓取网页并将数据保存到文件中(有关示例代码,请参见下文).我需要测试生成的数据格式是否正确. 问题是,数据是从一系列调用中接收到的,后续调用会使用之前调用的结果.更糟糕的是,涉及的许多调用都是在相同的对象(Webdriver、WebDriverWait 和 expected_conditions 模块)上完成的,具有不同的参数. 我看到 unittest.mock.Mo ..
发布时间:2021-09-14 18:51:01 Python

Python 单元测试:如何对包含数据库操作的模块进行单元测试?

我使用 pymysql 客户端库连接到真实数据库.我在模块中有一个函数,我使用 pymysql 连接到数据库,并且只执行数据库插入操作.如何在 python 中对这个函数进行单元测试而不影响真正的数据库? 导入pymysql定义连接数据库(自我):# 连接数据库connection = pymysql.connect(host='localhost',用户='用户',密码='密码',db='db ..

如何在python中将数据模拟为request.Response类型

我想在 isinstance(obj, requests.Response) 逻辑中编写一些测试用例来练习 object_check.在我创建 Mock 数据作为 requests.post 的返回值之后.模拟数据的类型始终是 Mock 类.这样,我如何重写模拟数据,以便模拟数据可以是 requests.Response 类型?所以我可以练习 d = obj.json()? from unitt ..
发布时间:2021-06-25 18:44:08 Python

不可知地检查 unittest.mock 调用参数 w.r.t.它们是否作为位置参数或关键字参数传递

当一个 unittest.mock.Mock 对象被调用时,我可以用调用的确切签名检查参数值: from unittest.mock import Mockm = Mock() # 创建模拟m('foo', bar='baz') # 调用模拟m.assert_Called_once_with('foo', bar='baz') # 检查调用参数 检查具有相同值的不同签名将失败.例如,如果我们使 ..
发布时间:2021-06-03 18:40:48 Python