Pythonのunittestモジュールは、例外処理のテストをサポートしています。この記事では、その基本的な使い方を紹介します。

unittestで例外をテストする

Pythonのunittestで例外処理をテストする基本的な方法は、assertRaises()メソッドを使用することです。このメソッドは、特定の例外が発生することを確認します。

以下に、unittestで例外をテストする基本的なコードを示します。

import unittest

def function_that_raises_exception():
    raise ValueError("An error occurred")

class TestMyFunction(unittest.TestCase):
    def test_exception(self):
        with self.assertRaises(ValueError):
            function_that_raises_exception()

このコードでは、function_that_raises_exception関数がValueErrorを発生させることをテストしています。assertRaises()メソッドは、withステートメントと一緒に使用します。

例外のメッセージもテストする

例外が発生することだけでなく、例外のメッセージもテストしたい場合があります。その場合は、assertRaises()メソッドのmsg引数を使用します。

以下に、例外のメッセージもテストするコードを示します。

import unittest

def function_that_raises_exception():
    raise ValueError("An error occurred")

class TestMyFunction(unittest.TestCase):
    def test_exception_message(self):
        with self.assertRaises(ValueError, msg="An error occurred"):
            function_that_raises_exception()

このコードでは、function_that_raises_exception関数がValueErrorを発生させ、そのメッセージが”An error occurred”であることをテストしています。

以上が、Pythonのunittestで例外処理をテストする基本的な方法です。これらのテクニックを使用することで、コードが期待通りの例外を適切に処理していることを確認できます。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です