是否可以将Python的doctest概念用于类,而不仅仅是函数?

如果是这样,我应该将doctest放在哪里-在类的文档字符串处,还是在构造函数的文档字符串处?

为了澄清,我正在寻找类似的东西:

class Test:
    """
    >>> a=Test(5)
    >>> a.multiply_by_2()
    10
    """
    def __init__(self, number):
        self._number=number

    def multiply_by_2(self):
        return self._number*2

提前致谢,

亚当

最佳答案

您缺少在文件底部实际运行doctest的代码:

class Test:
    <snip>

if __name__ == "__main__":
    import doctest
    doctest.testmod()

至于放置测试的位置:
  • 如果要整体测试该类,则将其放在类的文档字符串中。
  • 如果正在测试构造函数,则将它们放在构造函数的文档字符串中。
  • 如果它正在测试一个方法(在这种情况下似乎如此),我实际上会将它们放在该方法的文档字符串中。
  • 关于python - Python:对类使用doctests,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2708178/

    10-12 21:13