В настоящее время я занимаюсь рефакторингом функций, и в итоге я получил эту абстракцию
У меня есть эти классы
class AbstractClassA(SomeOtherAbstractClass):
@abstractmethod
def some_abstract_method(self):
pass
def my_method(self)):
service.some_method
class AbstractClassB(AbstractClassA):
@abstractmethod
def another_abstract_method(self):
pass
def some_abstract_method(self):
some_implementation
def my_method(self):
super().my_method()
do_any_other_stuff
И мне нужно проверить, вызывает ли AbstractClassB.my_method
super().my_method()
.
Я пытался проверить это, создав несколько ImplementationClass
, которые наследуются от AbstractClassB
, а затем высмеял AbstractClassA.my_method
и проверил, был ли он вызван, но он не работал ...
class AbstractClassBImplementation(AbstractClassB):
def some_abstract_method(self):
calls_service()
class TestAbstractClassB(TestCase):
@patch('module.submodule.AbstractClassA.my_method')
def test_class_b_calls_class_a_my_method(self, my_method_mock):
instance = AbstractClassBImplementation()
instance.my_method()
self.assertTrue(my_method_mock.called)
Кто-нибудь знает, как это проверить?