Сбой Doctest, несмотря на корректный вывод
Вопрос
Моя функция заключается в
def validate_latitude(lat):
"""Enforce latitude is in range
>>> validate_latitude(65)
65
>>> validate_latitude(91)
90
>>> validate_latitude(-91)
-90
"""
lat = min(lat, 90)
lat = max(lat, -90)
return lat
И тест завершается неудачей с этим результатом
**********************************************************************
File "packages/utils.py", line 64, in __main__.validate_latitude
Failed example:
validate_latitude(-91)
Expected:
-90
Got:
-90
**********************************************************************
Не могу понять, почему это терпит неудачу, несмотря на наличие отключенного вывода
Решение
В этих двух строках:
>>> validate_latitude(-91)
-90
У вас есть символ табуляции перед -
в -90
и четыре пробела после 0
. Когда doctests запускает этот код, лишние пробелы, конечно, не создаются, поэтому сравнение на равенство завершается неудачей.
Хорошие редакторы, например vim, есть способы выделить пробелы и паразитные табуляции, чтобы вы не попали в такие аварии. Не уверен, какой редактор вы используете или как вы его настроили, поэтому сложно дать более конкретный совет (помимо очевидного - убедиться, что вы используете редактор с такими возможностями и включаете эти возможности; -). р>
Другие советы
Пробел?
Если я выделю ваш вывод, я увижу дополнительные пробелы после "Ожидаемого" значения.Не уверен, имеет ли это отношение к делу или нет.