我正在测试一个需要模拟对象的函数。此对象可能引发IntegrityError,因此我将此错误作为副作用添加到模拟对象
def test_(self, mock_object):
mock_object.side_effect = IntegrityError
这在某种程度上是不正确的,因为它引发了__init__() takes at least 4 arguments (1 given)
的异常
这样做的正确方法是什么?
答案 0 :(得分:1)
只需构建一个提升完整性错误的单行函数,并将其作为副作用添加:
x = Mock()
def b():
raise IntegrityError('Mock', 'mock', 'mock')
x.side_effect = b
x()