LoginSignup
0

More than 3 years have passed since last update.

製薬企業研究者がPythonのユニットテストについてまとめてみた

Posted at

はじめに

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

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
0