2017-03-15 3 views
0

私が受け取っているトレースバックエラーを理解しようとしています。下記参照。トレースバックエラーを理解する

Traceback (most recent call last): 
    File "test.py", line 291, in test_cache_in_function 
    self.assertTrue("sunset" in testfilestr,"Testing that the sunset request was cached") 
AssertionError: Testing that the sunset request was cached 

上記のエラーは、 "sunset"がキャッシュファイルに存在しないことを意味しますか?

+0

"sunset"という文字列が 'testfilestr'に存在しないので、' assertTrue'は失敗します。 –

+0

はい。なぜあなたは文字列を印刷しないのですか? –

+0

最初のtry-catchブロックを見てください。 'saved_cache'と' CACHE_DICTION'の2つの変数名があります。私は第2のものだけが正しいと推測するつもりです。 –

答えて

1

約命名法の点。あなたはAssertionErrorを取得しています。トレースバックとともにエラーが出力されます。これは、そのエラーを引き起こした一連の呼び出しを示します。

具体的なケースでは、self.assertTrue(...)によるアサーションがFalseになったためにエラーが発生したようです。文字列"sunset"testfilestrにあると主張していますが、そうではありません。おそらくそれがキャッシュファイルにあるからでしょう。

assertTrueの第2引数は、AssertionErrorへのメッセージとして表示されるメッセージです。この引数はオプションであり、通常、明白なデフォルトメッセージを超えてエラーを明確にするために使用されます。これは"sunset" in testfilestr is False, expected Trueの効果になります。

+0

フィードバックに感謝します。あなたの説明は理にかなっています。私はトピックを編集し、完全なコードを追加しました。 –

+0

これは明らかにコード全体ではないので、どのように関数を呼び出すかに関する情報は得られません。 –

+0

それはすべて今そこにいるはずです! –