У меня следующая ситуация:
mixin_foo.py
class Foo:
def doFoo(self):
bar=self.defined_elsewhere()
#....do work
Модульный тест:
@patch('path_to_mixin_foo.mixin_foo.Foo.defined_elsewhere')
def test_do_foo(self, definedElsewhere)
definedElsewhere.return_value = bar1
self.FooTester.doFoo()
метод define_elsewhere () определен в классе, производном от этого миксина. Однако, в целях разработки, мы работаем над смешиванием_фу.Foo, прежде чем интегрировать его с классом. Однако, когда я пытаюсь выполнить модульное тестирование метода doFoo, pytest показывает следующую ошибку: Attributeerror <....> не имеет атрибута define_elsewhere. Правильный ли мой патч и есть ли другой способ юнит-тестирования этого метода? По сути, я хочу смоделировать значение call / return для self.defined_elsewhere, чтобы можно было протестировать метод doFoo.