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で例外処理をテストする基本的な方法です。これらのテクニックを使用することで、コードが期待通りの例外を適切に処理していることを確認できます。