Pythonのテストにおいて、assert
文と例外処理は重要な役割を果たします。特に、assert
文はデバッグ作業を容易にし、条件式がFalse
の場合にはAssertionError
を発生させて処理を停止します。
また、Pythonのunittest
モジュールでは、TestCase
クラスが提供するいくつかのassert
メソッドを利用して、テストの失敗をチェックし、報告することができます。
以下に、unittest
を使用したテストコードの一例を示します。
import unittest
class TestStringMethods(unittest.TestCase):
def test_upper(self):
self.assertEqual('foo'.upper(), 'FOO')
def test_isupper(self):
self.assertTrue('FOO'.isupper())
self.assertFalse('Foo'.isupper())
def test_split(self):
s = 'hello world'
self.assertEqual(s.split(), ['hello', 'world'])
# check that s.split fails when the separator is not a string
with self.assertRaises(TypeError):
s.split(2)
if __name__ == '__main__':
unittest.main()
このコードでは、assertEqual
メソッドを使用して、文字列メソッドの結果が期待通りであることを確認しています。また、assertRaises
メソッドを使用して、特定のエラー(この場合はTypeError
)が発生することを確認しています。
このように、assert
文と例外処理を適切に使用することで、Pythonのコードの品質を確保し、バグの早期発見につなげることができます。