2013-07-13 5 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() 

Выход -Почему не проверяет мои тесты?

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: использование доктрин для классов] (http://stackoverflow.com/questions/2708178/python-using-doctests-for-classes) –

Смежные вопросы