Я бы хотел, чтобы каждый подкласс BasicTest выполнял одну и ту же подпрограмму в main
Я предполагаю, что вам нужно запустить некоторый код установки / инициализации перед запуском тестов из любого теста.В этом случае вас может заинтересовать 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