2013-07-13 61 views
0
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() 

输出是 -为什么doctest没有检测到我的测试?

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. 

哪里是我的测试?

回答

3

将docstring放入方法中。

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> 
+0

如果我有一个文档字符串类? –

+0

@KshitizSharma [Python:使用doctests for classes](http://stackoverflow.com/questions/2708178/python-using-doctests-for-classes) –

相关问题