从mock.patch的文档:
patch()
接受任意关键字参数。AsyncMock
如果修补的对象是异步的,则这些将被传递给,MagicMock
否则或new_callable
如果指定。
从mock.patch.object的文档:
像patch()
,patch.object()
采用任意关键字参数来配置它创建的模拟对象。
从mock.Mock的文档中,它实际使用的地方:
return_value
:调用模拟时返回的值。默认情况下,这是一个新的 Mock(在首次访问时创建)。见return_value
属性。
为了更好地衡量,该return_value
属性的文档显示了示例的用法:
设置此项以配置通过调用模拟返回的值:
>>> mock = Mock()
>>> mock.return_value = 'fish'
>>> mock()
'fish'
默认返回值是一个模拟对象,您可以按正常方式配置它:
>>> mock = Mock()
>>> mock.return_value.attribute = sentinel.Attribute
>>> mock.return_value()
<Mock name='mock()()' id='...'>
>>> mock.return_value.assert_called_with()
return_value
也可以在构造函数中设置:
>>> mock = Mock(return_value=3)
>>> mock.return_value
3
>>> mock()
3
So, as you can see, this is all well documented, though admittedly it may be overlooked at a first glance due to the arguments not present in the signature.