python-mock相关内容

缺少缺省值的python-mock:';self';参数

这曾经适用于python mock版本1.0.1,但在我升级到mock版本1.3.0后开始失败。我在Mac OS X Yosemite 10.10.5上运行的是Python2.7.10版。 我将逻辑从现有的生产测试减少到以下复制该问题的虚拟测试: import unittest import mock from mock import Mock, patch class Outer ..
发布时间:2022-05-17 21:03:06 Python

带有`From X IMPORT Y`的Python模拟

我正尝试在我的单元测试中使用Python的mock库,但我看到不一致的结果,这取决于我如何导入我试图修补的目标。我预计这两个print语句都应该返回False,但似乎只有第二个语句返回False: from requests import get import requests with mock.patch('requests.get') as get_mock: get_moc ..
发布时间:2022-05-17 17:55:30 Python

在Python3.5中模拟异步调用

如何使用unittest.mock.patch模拟从一个本机协程到另一个本机协程的异步调用? 我目前有一个相当尴尬的解决方案: class CoroutineMock(MagicMock): def __await__(self, *args, **kwargs): future = Future() future.set_result(self ..
发布时间:2022-03-25 10:29:59 Python

获取模拟文件的实际返回值。read()

我正在使用python-mock模拟文件打开调用。我希望能够以这种方式传入假数据,这样我就可以验证read()正在被调用,并且可以使用测试数据,而不会在测试中命中文件系统。 这是我目前掌握的信息: file_mock = MagicMock(spec=file) file_mock.read.return_value = 'test' with patch('__builtin__. ..
发布时间:2022-03-16 13:41:45 Python

如何模拟属性

我在询问如何使用Python3模拟单元测试中的类属性。我尝试了以下方法,这对我跟随文档是有意义的,但不起作用: foo.py: class Foo(): @property def bar(self): return 'foobar' def test_foo_bar(mocker): foo = Foo() mocker.patch ..
发布时间:2022-02-28 23:55:47 Python

如何使用nosetests从python覆盖率报告中排除模拟包

我目前尝试使用mock库在python中编写一些基本的鼻子单元测试. 完成一些基本示例后,我现在尝试使用 nosetests --with-coverage,现在我有了模拟包,我尝试“模拟"的包显示在覆盖率报告中.有没有可能排除这些? 这是我要测试的课程: 从 imaplib 导入 IMAP4类 ImapProxy:def __init__(self, host):self._cli ..
发布时间:2022-01-08 22:16:17 Python

如何在 Python 中模拟 redis 客户端?

我刚刚发现一堆单元测试失败了,因为开发人员没有在测试中模拟出对 redis 客户端的依赖.我正在努力解决这个问题,但我自己也遇到了困难. 该方法写入一个redis客户端: redis_client = get_redis_client()redis_client.set('temp-facility-data', cPickle.dumps(df)) 稍后在断言中检索结果: res = ..
发布时间:2022-01-08 22:00:59 Python

修补函数的 __call__

我需要在测试中修补当前日期时间.我正在使用这个解决方案: def _utcnow():返回 datetime.datetime.utcnow()def utcnow():"""一个可以在测试中打补丁的代理."""# 另一个级别的间接,因为一些模块导入 utcnow返回 _utcnow() 然后在我的测试中,我会执行以下操作: with mock.patch('***.utils._utcn ..
发布时间:2022-01-08 21:53:00 Python

仅模拟对象上的单个方法

我熟悉其他语言中的其他模拟库,例如 Java 中的 Mockito,但 Python 的 mock 库让我感到困惑. 我想测试以下课程. 类 MyClassUnderTest(object):def 子方法(自我,*args):do_dangerous_things()def main_method(self):self.submethod("什么都没有.") 在我的测试中,我想确保在执 ..
发布时间:2022-01-08 21:51:49 Python

检查多个模拟的调用顺序

我正在尝试测试三个函数的调用顺序. 假设在模块 module.py 我有以下内容 # module.py定义一个(* args):# 做第一件事定义 b(*args):# 做第二件事定义 c(*args):# 做第三件事定义主程序():a_args = ('a')b_args = ('b')c_args = ('c')a(*a_args)b(*b_args)c(*c_args) 我想检查 ..
发布时间:2022-01-08 21:49:32 Python

断言未使用 Mock 调用函数/方法

我正在使用 Mock 库来测试我的应用程序,但我想断言某些函数没有被调用.模拟文档谈论像 mock.assert_call_with 和 mock.assert_called_once_with 这样的方法,但我没有找到像 mock.assert_not_call 这样的东西或与之相关的东西验证 mock 是否未调用. 我可以使用类似以下的内容,尽管它看起来既不酷也不像 Python: d ..
发布时间:2022-01-08 21:46:31 Python

模拟函数以引发异常以测试 except 块

我有一个函数 (foo),它调用另一个函数 (bar).如果调用bar()引发了HttpError,如果状态码是404我想特别处理,否则重新引发. 我正在尝试围绕这个 foo 函数编写一些单元测试,模拟对 bar() 的调用.不幸的是,我无法获得对 bar() 的模拟调用来引发我的 except 块捕获的异常. 这是说明我的问题的代码: 导入单元测试进口模拟从 apiclient.e ..
发布时间:2022-01-08 21:46:00 Python

在 python 单元测试中模拟类属性的更好方法

我有一个定义类属性的基类和一些依赖它的子类,例如 类基(对象):赋值 = dict(a=1, b=2, c=3) 我想用不同的作业对这个类进行单元测试,例如空字典,单项等.当然这非常简化,不是重构我的类或测试的问题 我想出的(pytest)测试最终是有效的 from .base import Basedef test_empty(self):使用 mock.patch("base.Ba ..
发布时间:2022-01-08 21:41:37 Python

具有多次调用方法的 Python Mock 对象

我有一个正在测试的类,它有另一个类作为依赖项(它的一个实例被传递给 CUT 的 init 方法).我想使用 Python Mock 库来模拟这个类. 我拥有的是这样的: mockobj = Mock(spec=MyDependencyClass)mockobj.methodfromdepclass.return_value = "我希望模拟返回的值"assertTrue(mockobj.m ..
发布时间:2021-12-09 19:03:29 Python