【问题标题】:Why doesn't doctest detect my tests?为什么 doctest 没有检测到我的测试?
【发布时间】:2013-07-13 22:45:45
【问题描述】:
class Test:
    def __init__(self):
        pass

    '''
    This function parses a name according to following rules - 

    >>> Test().name('Kshitiz Sharma')
    Sharma, Kshitiz

    '''
    def name(self, name):
        name = name.split()
        return name[1] + ", " + name[0]

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

输出是 -

4 items had no tests:
    __main__
    __main__.Test
    __main__.Test.__init__
    __main__.Test.name
0 tests in 4 items.
0 passed and 0 failed.
Test passed.

我的测试在哪里?

【问题讨论】:

    标签: python doctest


    【解决方案1】:

    将文档字符串放入方法中。

    def name(self, name):
        '''
        This function parses a name according to following rules - 
    
        >>> name('Kshitiz Sharma')
        <BLANKLINE>
    
        '''
        pass
    

    此外,要正确运行方法上的测试,您还需要实际实例化该类以在测试期间访问该方法:

        >>> t = Test(); t.name('Kshitiz Sharma')
        <BLANKLINE>
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-12
    • 2021-05-26
    • 1970-01-01
    • 1970-01-01
    • 2019-03-29
    • 2018-09-20
    相关资源
    最近更新 更多