我想在课堂上为一个方法编写一个测试(让我们说它是一个' str'类):
mocked_str = mock.MagicMock(str)
str.__len__(mocked_str)
但它失败了:
TypeError: descriptor '__len__' requires a 'str' object but received a 'MagicMock'
除了单个函数(用于测试)之外,我如何模拟整个类?感谢。
答案 0 :(得分:0)
看起来你有错误的方法。 mocked_str是您刚刚模拟的对象,__len__
是其上的模拟方法:
>>> mocked_str.__len__('foo')
0