Pythonのunittestフレームワークには、subTest
というメソッドがあります。このメソッドは、テストのパラメータ化や繰り返しテストに役立ちます。subTest
を使用すると、複数のテストケースを同じテストメソッド内で繰り返し実行し、各テストケースの結果を収集できます。
以下に、subTest
メソッドを使用した繰り返しテストの例を示します。
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
を使用してパラメータ化しています。失敗しても、各テストケースが実行され、結果がまとめられます。
このように、PythonのunittestフレームワークのsubTest
メソッドを活用することで、テストの効率を向上させることができます。