あなたはunittest.loader.TestLoader.testMethodPrefix
を使用することができます異なるpにしたがってテストメソッドのフィルタを変更するインスタンス変数"テスト"よりもリフィックス。
あなたはユニットテストのこの王とtests
ディレクトリがあるとしましょう:
import unittest
class MyTest(unittest.TestCase):
def test_suite_1(self):
self.assertFalse("test_suite_1")
def test_suite_2(self):
self.assertFalse("test_suite_2")
def test_other(self):
self.assertFalse("test_other")
あなたは、例えば、「test_suite_」で始まる唯一のテスト関数を検出するために、独自のdiscover
関数を記述することができます
import unittest
def run_suite():
loader = unittest.TestLoader()
loader.testMethodPrefix = "test_suite_"
suite = loader.discover("tests")
result = unittest.TestResult()
suite.run(result)
for test, info in result.failures:
print(info)
if __name__ == '__main__':
run_suite()
:discover
の引数 "tests"はディレクトリパスであるため、フルパスを記述する必要があります。
その結果、あなたが買ってあげる:
Traceback (most recent call last):
File "/path/to/tests/test_my_module.py", line 8, in test_suite_1
self.assertFalse("test_suite_1")
AssertionError: 'test_suite_1' is not false
Traceback (most recent call last):
File "/path/to/tests/test_my_module.py", line 11, in test_suite_2
self.assertFalse("test_suite_2")
AssertionError: 'test_suite_2' is not false