2016-08-02 7 views
0
  • 私はos removeをラップする関数を持っています。
  • 次のようにIは単位テストセットアップを持っている:それは例外をスローするようassertRaisesは組み込みの例外で機能しますか

    self.assertRaises(FileNotFoundError、my_rm(bad_file_path))

bad_file_pathは、存在しません。しかし、それでもテストは失敗します。可能であれば、FileNotFoundErrorをどのようにテストできますか?

+0

上記の回答は正しいです。重複します。 – Jacob

答えて

1

documentationは、あなたがこのように、assertRaisesテストを実行するためにwithを使用することをお勧めします:

with self.assertRaises(FileNotFoundError): 
    my_rm(bad_file_path) 

そうでない場合、あなたはこのように、個別機能および引数に渡す必要があります:

self.assertRaises(FileNotFoundError, my_rm, bad_file_path) 

あなたが現在行っていることはmy_rm(bad_file_path)に電話し、その呼び出しの結果をself.assertRaises()に渡そうとしています。例外が発生するため、テストがクラッシュします。

関連する問題