Doctest apesar de ter falha de saída correcto
Pergunta
A minha função é
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
E o teste falhar com esta saída
**********************************************************************
File "packages/utils.py", line 64, in __main__.validate_latitude
Failed example:
validate_latitude(-91)
Expected:
-90
Got:
-90
**********************************************************************
Cant ver por que ele falhar, apesar de ter a saída deisred
Solução
Na estas duas linhas:
>>> validate_latitude(-91)
-90
Você tem um carácter Tab antes do -
em -90
, e quatro caracteres de espaço após a 0
. Quando doctests é executado este código o espaço em branco extra é claro que não produziu, de modo que a comparação de igualdade falha.
Os bons editores, por exemplo, vim, têm maneiras para destacar espaços à direita e tabulações vadios, para que você não caia afould de tais acidentes. Não tenho certeza o editor que você está usando ou como você configurá-lo, por isso é difícil dar conselhos mais específicos (além da óbvia de garantir que você use um editor com tais capacidades, e permitir que os recursos em questão; -) <. / p>
Outras dicas
Whitespace?
Se eu destacar a sua saída, eu posso ver espaços adicionais após o valor "esperado". Não tenho certeza se isso é relevante ou não.