Pythonのunittest
モジュールは、テストケースを作成し、それらを実行するための豊富なツールを提供しています。特定のテストケースまたはテストスイートを選択して実行することが可能です。
unittestの基本的な使い方
unittest
をインポートします。unittest.TestCase
を継承したクラスを作成します。- 作成したクラスの中に、テストケースを記述します。テストケースは、
AssertHOGE()
という名称の一群のメソッドを使用します。このメソッドによって一致・大小関係などの比較が行われます。 unittest.main()
でテストを実行します。
import unittest
class TestStringMethods(unittest.TestCase):
def test_upper(self):
self.assertEqual('foo'.upper(), 'FOO')
def test_isupper(self):
self.assertTrue('FOO'.isupper())
self.assertFalse('Foo'.isupper())
def test_split(self):
s = 'hello world'
self.assertEqual(s.split(), ['hello', 'world'])
if __name__ == '__main__':
unittest.main()
特定のテストを選択して実行する方法
複数のテストが存在する場合、unittest.main()
を実行すると、一挙に全てのテストが実行されます。しかし、特定のテストだけを実行したい場合もあります。その場合は、コマンドラインからモジュール、クラス、または単一のテストを指定します。
例えば、テストがtests
というモジュールに存在する場合、以下のように実行します。
python3 -m unittest tests
特定のテストクラスやテストメソッドを実行するには、以下のようにします。
python3 -m unittest tests.test_my_class
このように、Pythonのunittest
モジュールを使用すると、特定のテストを選択して実行することが可能です。これにより、テストの範囲を制御し、必要なテストだけを効率的に実行することができます。