实际上在库中的底层逻辑我有一些类。为了测试一些业务逻辑,我需要保持原始行为N次,最后得到一些Exception
。
from unittest import mock
class A():
def orig(self):
return 5
假设{2}成功调用后orig
方法应该失败。
我做过类似的事情:
with mock.patch.object(A, 'orig', side_effect=[mock.Mock(wraps=A.orig)(A), mock.Mock(wraps=A.orig)(A), ValueError]):
print(A.orig())
print(A.orig())
print(A.orig())
但由于传递参数的一些混乱,这看起来并不正确。 这不是可靠的解决方案。