正しい出力があるにもかかわらず、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
**********************************************************************
不要な出力があるにもかかわらず失敗する理由を確認する
解決
次の2行:
>>> validate_latitude(-91)
-90
-90
の-
の前にタブ文字があり、 0
の後にスペース文字が4つあります。 doctestsがこのコードを実行すると、もちろん余分な空白は生成されないため、等値比較は失敗します。
優れた編集者、例: vim、後続のスペースを強調表示する方法、およびタブを外す方法を使用して、このような事故に陥らないようにします。使用しているエディターやセットアップ方法がわからないため、より具体的なアドバイスを与えることは困難です(そのような機能を備えたエディターを使用し、問題の機能を有効にすることの明らかなものに加えて;-)。
他のヒント
ホワイトスペース?
出力を強調表示すると、「期待」の後に追加の空白が表示されます。値。これが関連するかどうかわからない。
所属していません StackOverflow