Day 108unittestでテストを書く
Pythonコード
1import unittest2 3def add(x, y):4 return x + y5 6class TestAddFunction(unittest.TestCase):7 def test_add(self):8 self.assertEqual(add(1, 2), 3)9 self.assertEqual(add(-1, 1), 0)10 self.assertEqual(add(-1, -1), -2)11 12if __name__ == '__main__':13 unittest.main()
解説
- 行1: unittestモジュールをインポートします。unittestモジュールは、Pythonのテストを書くためのモジュールです。importは、他のモジュールの関数やクラスを現在のスクリプトで使用できるようにする組み込み関数です。 行3〜4: add関数を定義します。この関数は、2つの引数xとyを加算して結果を返します。defは、関数を定義するためのキーワードです。 行6〜11: TestAddFunctionクラスを定義します。このクラスは、unittest.TestCaseクラスを継承しています。test_addメソッドで、add関数のテストを書いています。self.assertEqualメソッドで、add関数の結果が期待した結果と等しいかどうかをチェックしています。assertEqualは、2つの値が等しいかどうかをチェックするメソッドです。 行12〜13: if __name__ == '__main__': で、スクリプトが直接実行された場合に、unittest.main()を呼び出してテストを実行します。ifは、条件に応じてコードを実行するためのキーワードです。__name__は、現在のモジュールの名前を保持する変数です。unittest.main()は、テストを実行するための関数です。
次に試してみよう
- テストケースを追加してみましょう
- テスト対象の関数を変更してみましょう
- エラーが発生するテストケースを追加してみましょう