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