1
在lib/thing.py
:Python unittest mock:通过参数化类对象嘲笑类函数?
class Class(object):
def class_function1(self):
在app/thing.py
:
def function2(class_object):
class_object.class_function1()
在test/test_thing.py
,我想修补lib.thing.Class.class_function1
当函数2是带一个嘲笑类()对象募集的AttributeError
这应该只是PERC了到test_function2
畅通无阻。像这样的东西(不起作用):
def test_function2(self):
mocked_class = mock.MagicMock(name="class", spec_set=lib.thing.Class)
with assertRaises(AttributeError):
with patch ('lib.thing.Class.class_function1', side_effect=AttributeError):
function2(mocked_class)
删除补丁,只是设置'mocked_class.class_function1.side_effect = AttributeError'正确地提出了一个'AttributeError'时'class_function1'在'function2'被击中,但'assertRaises'不承认它。嗯。向旁边靠近一步或向旁边走一步...... – kiminoa