はじめに
ここでは、unittest
を用いたPythonのテストについて解説していきます。
テストの基本
テストは、対処となる関数に対応させるように、以下のように書きます。
import unittest
def average(num1, num2):
return (num1 + num2) / 2
class AverageTests(unittest.TestCase):
def test_average(self):
actual = average(1, 2)
expected = 1.5
self.assertEqual(actual, expected)
average
という関数に対して、AverageTests
というclassが用意され、このクラス内のメソッドとして、test_average
が書かれています。
このように、テスト用の関数はtest_テスト対象の関数名
とすることが多いです。
assert
メソッド
上の例のように、テストの判定時にはassert
メソッドが使われます。
よく使われるassert
メソッドには、以下のようなものがあります。
- assertEqual(actual, expected):actualとexpectedが等しいかどうか
- assertNotEqual(actual, expected):actualとexpectedが等しくないかどうか
- assertTrue(bool):boolが
True
であるかどうか - assertFalse(bool):boolが
False
であるかどうか - assertGreater(num1, num2):num1がnum2より大きいかどうか
- assertGreaterEqual(num1, num2):num1がnum2以上かどうか
- assertLess(num1, num2):num1がnum2より小さいかどうか
- assertLessEqual(num1, num2):num1がnum2以下かどうか
- assertIn(value, values):valueがvaluesに含まれるかどうか
まとめ
ここでは、unittest
を用いたPythonのテストの書き方について解説しました。
テストを味方につけて、開発効率を上げていきたいところです。