Pythonのunittest.TestCaseのメソッド subTest
unittest.TestCaseには、テストのパラメータ化や繰り返しテストに役立つsubTestメソッドが存在します。subTestを使用すると、複数のテストケースを同じテストメソッド内で繰り返し実行し、各テストケースの結果を収集できます。
subTestメソッドはwithステートメントと組み合わせて使用され、以下のように記述します:
python
with self.subTest(name="テストの名前", parameter=value): # テスト処理
nameはテストの名前や説明で、parameterはパラメータです。subTestブロック内でテストを実行し、結果を収集できます。subTest内のテストが失敗しても、他のsubTestのテストは続行され、すべての結果が収集されます。
以下は、subTestメソッドを使用した繰り返しテストの例です:
python
import unittest class MyTestCase(unittest.TestCase): def test_multiply(self): test_data = [ (2, 3, 6), (4, 5, 20), (0, 7, 0), ] for a, b, expected in test_data: with self.subTest(a=a, b=b): result = a * b self.assertEqual(result, expected) if __name__ == '__main__': unittest.main()
この例では、test_multiplyメソッド内で複数の数値ペアをテストし、各テストケースをsubTestを使用してパラメータ化しています。失敗しても、各テストケースが実行され、結果がまとめられます。

ディスカッション
コメント一覧
まだ、コメントがありません