私は私が何をしたいと思いメイン
に同じルーチンを実行するBasicTestの各サブクラスをご希望の任意のテストケースからテストを実行する前に、いくつかのセットアップ/初期化コードを実行することです。この場合、setUpClass
クラスメソッドに興味があるかもしれません。
testA.py
import unittest
class BasicTest(unittest.TestCase):
@classmethod
def setUpClass(cls):
print 'Preparing to run tests'
class TestA(BasicTest):
def test1(self):
print 'testA: test1'
def test2(self):
print 'testA: test2'
if __name__ == '__main__':
unittest.main()
testB.py
import unittest
from testA import BasicTest
class TestB(BasicTest):
def test1(self):
print 'testB: test1'
def test2(self):
print 'testB: test2'
if __name__ == '__main__':
unittest.main()
testA.pyからの出力:
Preparing to run tests
testA: test1
testA: test2
..
----------------------------------------------------------------------
Ran 2 tests in 0.000s
OK
testB.pyからの出力:
Preparing to run tests
testB: test1
testB: test2
..
----------------------------------------------------------------------
Ran 2 tests in 0.000s
OK
関連:[Pythonのunittestモジュールをテストランナーとして使用するときにテストの前に初期化コードを実行する方法](0120-18756) –