はじめに
ここでは、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のテストの書き方について解説しました。
テストを味方につけて、開発効率を上げていきたいところです。