python-unittest.mock相关内容
使用mock.Mock()与mock.patch()有什么区别? 何时使用mock.Mock()以及何时使用mock.patch() 我读到过,Mock用来替换当前作用域中使用的内容,VS,Patch用来替换导入和/或在另一个作用域中创建的内容。有人能解释一下这是什么意思吗? 如果我们在单独的测试文件中进行测试,那么被测试的每个类方法、静态方法、测试方法不都是从dev/Produ
..
所以我在编写单元测试时遇到了设置函数方面的问题。在我看来,它应该只是在你的函数之前执行代码,所以我可以把任何重复的东西放在里面。然而,这个函数似乎并没有将我作为补丁修饰器创建的模拟应用到整个类上。这是我希望它看起来是什么样子的一小部分: @patch('geomet_data_registry.layer.base.get_today_and_now', new=mocked_get_dat
..
我正在尝试理解模拟中的assert_called_with,但我编写的代码引发了一些错误。 import os import twitter URL = "http://test.com" def tweet(api, message): if len(message) > 40: message = message.strip("?.,.,.") st
..
我想知道如何为try except块编写Python3单元测试 在Python模块中的函数定义之外定义的。 想象一下,在package/module.py中,我有一个挡路代码,如下所示: 导入操作系统 try: CONSTANT = os.environ['NOT_EXISTING_KEY'] except KeyError: CONSTANT = False final
..
我有一种方法可以抓取网页并将数据保存到文件中(有关示例代码,请参见下文).我需要测试生成的数据格式是否正确. 问题是,数据是从一系列调用中接收到的,后续调用会使用之前调用的结果.更糟糕的是,涉及的许多调用都是在相同的对象(Webdriver、WebDriverWait 和 expected_conditions 模块)上完成的,具有不同的参数. 我看到 unittest.mock.Mo
..
我使用 pymysql 客户端库连接到真实数据库.我在模块中有一个函数,我使用 pymysql 连接到数据库,并且只执行数据库插入操作.如何在 python 中对这个函数进行单元测试而不影响真正的数据库? 导入pymysql定义连接数据库(自我):# 连接数据库connection = pymysql.connect(host='localhost',用户='用户',密码='密码',db='db
..
我想在 isinstance(obj, requests.Response) 逻辑中编写一些测试用例来练习 object_check.在我创建 Mock 数据作为 requests.post 的返回值之后.模拟数据的类型始终是 Mock 类.这样,我如何重写模拟数据,以便模拟数据可以是 requests.Response 类型?所以我可以练习 d = obj.json()? from unitt
..
当一个 unittest.mock.Mock 对象被调用时,我可以用调用的确切签名检查参数值: from unittest.mock import Mockm = Mock() # 创建模拟m('foo', bar='baz') # 调用模拟m.assert_Called_once_with('foo', bar='baz') # 检查调用参数 检查具有相同值的不同签名将失败.例如,如果我们使
..
我无法理解某些测试代码中发生的情况.它看起来像这样: 导入pytest从 unittest.mock 导入 MagicMock从 my_module 导入 MyClass混淆模拟 = MagicMock(return_value=b"",副作用=[连接错误(),b"another_return_value?",b"another_another_return_value?"])mocked_cl
..