Doctest продолжает добавлять нечетное количество пробелов? - PullRequest
0 голосов
/ 11 октября 2019

Я пытаюсь включить в doctests функции, которые я определяю так, как этого хотел мой профессор, но у него не получается получить правильные результаты из-за того, что пробел вроде как материализуется из ниоткуда, как бы я боролся с этим?

вот мой код:

import math
def circle_area(radius):
    ''' >>> circle_area(5)
    78.54
    '''
    area = round(math.pi*(radius**2),2)
    if radius < 1 or radius > 1000:
        print('ERROR')
        return 0
    else:
        return area

вывод:

**********************************************************************
File "math_funcs.py", line 46, in __main__.circle_area
Failed example:
    circle_area(5)
Expected:
       78.54
Got:
    78.54
**********************************************************************
1 items had failures:
   1 of   1 in __main__.circle_area
***Test Failed*** 1 failures

1 Ответ

0 голосов
/ 11 октября 2019

>>> circle_area(5) необходимо поместить в отдельной строке с таким же отступом, что и в первой строке доктрины. То есть вместо этого:

    ''' >>> circle_area(5)
    78.54
    '''

сделайте это:

    '''
    >>> circle_area(5)
    78.54
    '''

ETA: Вот точный рабочий тестовый файл, который я использовал:

#!/usr/bin/env python3
import math
def circle_area(radius):
    '''
    >>> circle_area(5)
    78.54
    '''
    area = round(math.pi*(radius**2),2)
    if radius < 1 or radius > 1000:
        print('ERROR')
        return 0
    else:
        return area

import doctest
doctest.testmod()
...