python-mock相关内容
这曾经适用于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
..
假设我有一个代码片段,如下所示 foo = SomeClass() bar = foo[1:999].execute() 为了测试这一点,我尝试了 foo_mock = Mock() foo_mock[1:999].execute() 遗憾的是,这引发了异常 TypeError:‘mock’对象不可订阅 那么,我如何创建可订阅Mock对象? 推荐答案 请改用
..
我正在尝试理解模拟中的assert_called_with,但我编写的代码引发了一些错误。 import os import twitter URL = "http://test.com" def tweet(api, message): if len(message) > 40: message = message.strip("?.,.,.") st
..
我正尝试在我的单元测试中使用Python的mock库,但我看到不一致的结果,这取决于我如何导入我试图修补的目标。我预计这两个print语句都应该返回False,但似乎只有第二个语句返回False: from requests import get import requests with mock.patch('requests.get') as get_mock: get_moc
..
如何使用unittest.mock.patch模拟从一个本机协程到另一个本机协程的异步调用? 我目前有一个相当尴尬的解决方案: class CoroutineMock(MagicMock): def __await__(self, *args, **kwargs): future = Future() future.set_result(self
..
我正在使用python-mock模拟文件打开调用。我希望能够以这种方式传入假数据,这样我就可以验证read()正在被调用,并且可以使用测试数据,而不会在测试中命中文件系统。 这是我目前掌握的信息: file_mock = MagicMock(spec=file) file_mock.read.return_value = 'test' with patch('__builtin__.
..
我在询问如何使用Python3模拟单元测试中的类属性。我尝试了以下方法,这对我跟随文档是有意义的,但不起作用: foo.py: class Foo(): @property def bar(self): return 'foobar' def test_foo_bar(mocker): foo = Foo() mocker.patch
..
我目前尝试使用mock库在python中编写一些基本的鼻子单元测试. 完成一些基本示例后,我现在尝试使用 nosetests --with-coverage,现在我有了模拟包,我尝试“模拟"的包显示在覆盖率报告中.有没有可能排除这些? 这是我要测试的课程: 从 imaplib 导入 IMAP4类 ImapProxy:def __init__(self, host):self._cli
..
我刚刚发现一堆单元测试失败了,因为开发人员没有在测试中模拟出对 redis 客户端的依赖.我正在努力解决这个问题,但我自己也遇到了困难. 该方法写入一个redis客户端: redis_client = get_redis_client()redis_client.set('temp-facility-data', cPickle.dumps(df)) 稍后在断言中检索结果: res =
..
我需要在测试中修补当前日期时间.我正在使用这个解决方案: def _utcnow():返回 datetime.datetime.utcnow()def utcnow():"""一个可以在测试中打补丁的代理."""# 另一个级别的间接,因为一些模块导入 utcnow返回 _utcnow() 然后在我的测试中,我会执行以下操作: with mock.patch('***.utils._utcn
..
我熟悉其他语言中的其他模拟库,例如 Java 中的 Mockito,但 Python 的 mock 库让我感到困惑. 我想测试以下课程. 类 MyClassUnderTest(object):def 子方法(自我,*args):do_dangerous_things()def main_method(self):self.submethod("什么都没有.") 在我的测试中,我想确保在执
..
我正在尝试测试三个函数的调用顺序. 假设在模块 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) 我想检查
..
我正在使用 Mock 库来测试我的应用程序,但我想断言某些函数没有被调用.模拟文档谈论像 mock.assert_call_with 和 mock.assert_called_once_with 这样的方法,但我没有找到像 mock.assert_not_call 这样的东西或与之相关的东西验证 mock 是否未调用. 我可以使用类似以下的内容,尽管它看起来既不酷也不像 Python: d
..
我有一个函数 (foo),它调用另一个函数 (bar).如果调用bar()引发了HttpError,如果状态码是404我想特别处理,否则重新引发. 我正在尝试围绕这个 foo 函数编写一些单元测试,模拟对 bar() 的调用.不幸的是,我无法获得对 bar() 的模拟调用来引发我的 except 块捕获的异常. 这是说明我的问题的代码: 导入单元测试进口模拟从 apiclient.e
..
我有一个定义类属性的基类和一些依赖它的子类,例如 类基(对象):赋值 = dict(a=1, b=2, c=3) 我想用不同的作业对这个类进行单元测试,例如空字典,单项等.当然这非常简化,不是重构我的类或测试的问题 我想出的(pytest)测试最终是有效的 from .base import Basedef test_empty(self):使用 mock.patch("base.Ba
..
我应该如何自定义 unittest.mock.mock_open 来处理这段代码? 文件:impexpdemo.pydef import_register(register_fn):使用 open(register_fn) 作为 f:return [f 中的一行] 我的第一次尝试尝试了 read_data. 类 TestByteOrderMark1(unittest.TestCase):RE
..
我应该如何自定义 unittest.mock.mock_open 来处理这段代码? 文件:impexpdemo.pydef import_register(register_fn):使用 open(register_fn) 作为 f:返回 [f 中的行] 我的第一次尝试尝试了 read_data. class TestByteOrderMark1(unittest.TestCase):REG
..
我在 Python 中使用 mock 时遇到了相当困难: def method_under_test():r = requests.post("http://localhost/post")打印 r.ok # 打印“"如果 r.ok:返回开始结果()别的:引发异常()类 MethodUnderTestTest(T
..
我有一个正在测试的类,它有另一个类作为依赖项(它的一个实例被传递给 CUT 的 init 方法).我想使用 Python Mock 库来模拟这个类. 我拥有的是这样的: mockobj = Mock(spec=MyDependencyClass)mockobj.methodfromdepclass.return_value = "我希望模拟返回的值"assertTrue(mockobj.m
..
我正在尝试使用 unittest 以 (my_app.py) 开头的 python 3.6 脚本进行测试: 导入系统从 awsglue.utils 导入 getResolvedOptionsargs = getResolvedOptions(sys.argv, ['opt1', 'opt2', 'opt3'])opt1 = args['opt1']opt2 = args['opt2']opt3
..