Pythonのunittest
モジュールでは、特定のテストをスキップするためのデコレータが提供されています。これらのデコレータは以下の通りです:
@unittest.skip(reason)
: このデコレータはテストを無条件にスキップします。
import unittest
class TestMyFunction(unittest.TestCase):
@unittest.skip("demonstrating skipping")
def test_nothing(self):
self.fail("shouldn't happen")
@unittest.skipIf(condition, reason)
: このデコレータは、指定した条件がTrueの場合にテストをスキップします。
import unittest
import mylib
class TestMyFunction(unittest.TestCase):
@unittest.skipIf(mylib.__version__ < (1, 3), "not supported in this library version")
def test_format(self):
# Tests that work
@unittest.skipUnless(condition, reason)
: このデコレータは、指定した条件がFalseの場合にテストをスキップします。
import unittest
import mylib
class TestMyFunction(unittest.TestCase):
@unittest.skipUnless(mylib.__version__ >= (1, 3), "requires newer version")
def test_format(self):
# Tests that work
これらのデコレータを使用することで、特定の条件下でのみ実行したいテストや、まだ実装が完了していないテストを一時的にスキップすることが可能になります。これにより、テストの柔軟性と管理性が向上します。