1
2

More than 1 year has passed since last update.

【unittest】例外発生をテストする

Posted at

Pythonのunittestで例外発生をテストする方法をメモしておく。

例外発生のテスト

基本的な書き方

例外発生をテストする場合、assertRaises()withと一緒に使って以下のように書く。

with self.assertRaises(<発生を期待する例外>):
    <例外が発生するテスト対象メソッド>

サンプル

上記の例外発生をテストする場合の書き方を使って、簡単なサンプルを書いてみた。
テストを実行すると、テスト対象メソッドでValueErrorが発生するのでテスト成功となる。

calculation.py
class calculation:
    def multiply(self, a, b):
        if type(a) is not int or type(b) is not int:
            raise ValueError

        return a * b
test_calculation.py
class TestCalculation(unittest.TestCase):
    def test_multiply(self):
        calculator = calculation()
        # テストコードの記述
        with self.assertRaises(ValueError):
            calculator.multiply("test", 1)

# unittest.main()で実行
if __name__ == "__main__":
    unittest.main()
1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2