【发布时间】:2021-12-20 22:24:26
【问题描述】:
我希望将 doctest 格式的示例用于抽象 (ABC) 或 Protocol 类,而不会因为类的方法未实现而导致 doctest 失败。
文档字符串和示例应该反映抽象类的多个实现的一般用例,我想保持 doctest 格式的一致性。
任何用于抑制单个文档字符串或所有抽象或Protocol 类的文档测试的想法都值得赞赏。我知道我也可以写成Sphinx code block,但在我看来,它在代码中不会像人类可读的那样。
例子:
from abc import ABC, abstractmethod
class MyABC(ABC):
"""My docstring.
Here is a recommended use case for this item:
Examples:
>>> a = MyABC()
>>> a.do_something()
'some expected behaviour'
"""
@abstractmethod
def do_something(self):
pass
class MyClass(MyABC):
def do_something(self):
return 'some expected behaviour'
注意我知道this ticket 有点重复,但我认为这个例子不相关,也没有得到回答。
【问题讨论】:
标签: python abstract-class doctest error-suppression