Этот ответ является правильным, когда он говорит
, что для завершения цепочки вызовов super
необходимо использовать что-то вроде общего базового класса.
Это означает, что вам нужно написать собственный базовый класс, который находится между B
и C
и TestCase
, который завершает цепочку super
, реализуя ваши дополнительные методы и затем не делегируя никаких вызовов его родителям:
from django.test import TestCase
class MyTestBase(TestCase):
def method1(self, arg):
pass
def method2(self, arg1, arg2):
pass
class B(MyTestBase):
def method1(self, arg):
super().method1(arg)
...
def method2(self, arg1, arg2):
super().method2(arg1, arg2)
...
class C(MyTestBase):
def method1(self, arg):
super().method1(arg)
...
def method2(self, arg1, arg2):
super().method2(arg1, arg2)
...
class D(B, C):
pass