尽管输出正确,但Doctest失败了

时间:2009-10-30 14:37:02

标签: python 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
**********************************************************************

不知道为什么它失败了,尽管有deisred输出

2 个答案:

答案 0 :(得分:3)

空白?

如果我突出显示您的输出,我可以在“预期”值后面看到额外的空格。不确定这是否相关。

答案 1 :(得分:3)

在这两行中:

>>> validate_latitude(-91)
-90    

-中的-90前面有一个制表符,0后面有四个空格字符。当doctests运行此代码时,额外的空格当然不会产生,因此相等比较失败。

优秀的编辑,例如vim,有办法突出尾随空间和迷路标签,这样你就不会发生这样的事故。不确定您正在使用哪种编辑器或如何设置它,因此很难提供更具体的建议(除了显而易见的确保您使用具有此类功能的编辑器,并启用相关功能; - )。 / p>