2013-07-13 2 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

문서화 문자열을 메서드 내에 넣습니다. 또한

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 사용] (http://stackoverflow.com/questions/2708178/python-using-doctests-for-classes) –

관련 문제