Pythonのunittest
モジュールでは、特定のテストメソッドやテストクラスをスキップすることが可能です。テストをスキップするための3つのオプションがあります。
@unittest.skip()
デコレータを使用する。TestCase
クラスのskipTest()
メソッドを呼び出す。SkipTest
例外を発生させる。
以下に、それぞれの方法を使用した例を示します。
import unittest
class TestDemo(unittest.TestCase):
def test_case_1(self):
self.assertEqual(1 + 1, 2)
@unittest.skip('Work in progress')
def test_case_2(self):
pass
def test_case_3(self):
self.skipTest('Work in progress')
def test_case_4(self):
raise unittest.SkipTest('Work in progress')
上記のコードでは、test_case_2
、test_case_3
、test_case_4
はスキップされます。スキップされたテストには、@unittest.skip()
デコレータ、skipTest()
メソッド、SkipTest
例外のいずれかを使用して渡されたメッセージが表示されます。
また、テストクラス全体をスキップするには、クラスレベルで@unittest.skip()
デコレータを使用します。以下に例を示します。
import unittest
@unittest.skip('Work in progress')
class TestDemo(unittest.TestCase):
def test_case_1(self):
self.assertEqual(1 + 1, 2)
def test_case_2(self):
self.assertIsNotNone([])
上記のコードでは、TestDemo
クラスのすべてのテストがスキップされます。
これらの方法を使用することで、開発中の機能や一時的に無効化したいテストを効率的にスキップすることができます。ただし、テストをスキップすることは、そのテストが重要でないことを意味するわけではないため、注意が必要です。