使用mock.patch
在Python中进行测试时,如果调用了类中没有的属性,则可以使用spec来确保测试失败。但是这些不允许您使用__init__
中创建的属性:
class A(object):
def __init__(self):
self.init_prop = 4
def regular_prop():
pass
with patch('__main__.A', spec=True) as A_mock:
# accessing regular_prop on an instance of A_mock succeeds
# accessing init_prop on an instance of A_mock raises an exception
有没有办法让patch
或其他工具自动捕获__init__
中创建的属性?