当使用patch作为装饰器时,可以更改修补的类或函数的测试参数名称。在
@patch('module.ClassName2')
@patch('module.ClassName1')
def test(MockClass1, MockClass2):
MockClass1.test.return_value = 'testing'
但是,在文档中我似乎找不到在使用patch.multiple
时如何区分原始对象和mock。在
在上面的例子中,测试中的参数必须是foo
和{mock_foo
?在
在测试的一部分需要原始类或方法的情况下,这也很方便,避免了from module import Class as OriginalClass
之类的导入
提前谢谢。在
不,还有。。。是的:
attribute_name
遵循一个简单的例子来说明你如何做到这一点。。。我知道这也许不是你想要的,但这是唯一的方法。在
如果使用
^{pr2}$patch.multiple
作为上下文管理器,这是获取模拟的唯一方法,因此这两种方法是一致的相关问题 更多 >
编程相关推荐