Atualmente, tenho alguns testes de unidade que compartilham um conjunto comum de testes. Aqui está um exemplo:
import unittest
class BaseTest(unittest.TestCase):
def testCommon(self):
print 'Calling BaseTest:testCommon'
value = 5
self.assertEquals(value, 5)
class SubTest1(BaseTest):
def testSub1(self):
print 'Calling SubTest1:testSub1'
sub = 3
self.assertEquals(sub, 3)
class SubTest2(BaseTest):
def testSub2(self):
print 'Calling SubTest2:testSub2'
sub = 4
self.assertEquals(sub, 4)
if __name__ == '__main__':
unittest.main()
A saída do acima é:
Calling BaseTest:testCommon
.Calling BaseTest:testCommon
.Calling SubTest1:testSub1
.Calling BaseTest:testCommon
.Calling SubTest2:testSub2
.
----------------------------------------------------------------------
Ran 5 tests in 0.000s
OK
Existe uma maneira de reescrever o que testCommon
foi dito acima para que o primeiro não seja chamado?
Edição: Em vez de executar 5 testes acima, eu quero executar apenas 4 testes, 2 do SubTest1 e outros 2 do SubTest2. Parece que o Python unittest está executando o BaseTest original por conta própria e preciso de um mecanismo para impedir que isso aconteça.