Исправление используется для изменения имени или поиска атрибутов. В этом случае есть нет bar
атрибута класса temp.Foo
.
Если вы хотите исправить переменную instance , вам нужно либо существующий экземпляр для изменения
def test(self):
f = Foo()
with patch.object(f, 'bar', 3):
self.assertEqual(f.bar, 3)
или вы можете захотеть исправить вызов функции, который инициализирует атрибут экземпляра в первую очередь.
def test(self):
with patch('some_external_function_returning_list', return_value=3):
f = Foo()
self.assertEqual(f.bar, 3)