Предположим, у меня есть следующие классы:
class A():
def method1(self, x):
x = x * 2
x = self.method2(x)
return x
def method2(self, x):
raise NotImplementedError
class B(A):
def method2(self, x):
return x + 5
Если я пишу модульные тесты для класса А,
(немного нового в юнит-тестировании)
Как мне проверить method1
?
Так как он вызывает метод, который переопределен в подклассе.
Создание объекта класса A
или класса B
? (я тестирую A
)
Создание объекта для A приведет к NotImplementedError
. Возможным решением будет использование объекта B
для тестирования этого метода или, возможно, тестирование этого метода при написании тестов для класса B
.
Редактировать :
Хотя я не полностью исправлен в дизайне, класс A
, скорее всего, не будет создан напрямую.