こんにちはsekitakaです。
いつまでたってもpythonビギナー感が抜けません。
今日はpythonのunittestでExceptionがraise「される」ことをテストする方法を紹介します。
def test_raise_exception(self):
with self.assertRaises(Exception):
raise Exception('hogehoge error') # ExceptionのRaiseを期待するテストコード
はじめはtry
ないでself.fail()
して、failが実行される前にexcept
に飛ばなければ、テスト成功と判断しようとしたのですが、try内のfailもexceptにキャッチされてしまって、意図したテストになりませんでした。
ダメコード
def test_raise_exception(self):
try:
raise Exception('hogehoge error') # ExceptionのRaiseを期待するテストコード
self.fail("exceptされなかったから失敗")
except Exception as e:
pass