doctest в абстрактном классе
Я включил doctest в метод в абстрактном классе. Производные классы не реализуют метод. Когда я делаю pytest --doctest-modules mymodule.py
мой тест не пройден
Будет ли способ сообщить doctest, что он должен тестироваться в производных классах, а не в абстрактном классе?
(На данный момент я переместил doctest в строку документации одного из производных классов, так что это обходной путь)
Обновить:
Пример с abstract.py
class MyClass():
def add(self, value):
"""
>>> adder = MyClass()
>>> isinstance(adder.add(3), int)
True
"""
return self.value() + value
def value(self):
raise NotImplementedError
а также derived.py
import abstract
class MyClass(abstract.MyClass):
def value(self):
return 2
Вот help(derived.MyClass.add)
покажет пример строки документации, которая действительно может быть выполнена (в производном классе):
Help on method add in module abstract:
add(self, value) unbound derived.MyClass method
>>> adder = MyClass()
>>> isinstance(adder.add(3), int)
True