J'ai actuellement quelques tests unitaires qui partagent un ensemble de tests. Voici un exemple:
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()
La sortie de la ci-dessus est:
Calling BaseTest:testCommon
.Calling BaseTest:testCommon
.Calling SubTest1:testSub1
.Calling BaseTest:testCommon
.Calling SubTest2:testSub2
.
----------------------------------------------------------------------
Ran 5 tests in 0.000s
OK
Est-il un moyen de réécrire le ci-dessus de sorte que la première testCommon
n'est pas appelé?
EDIT: Au lieu de courir 5 tests ci-dessus, je veux le lancer 4 essais, 2 de l'SubTest1 et un autre 2 à partir de SubTest2. Il semble que Python unittest est l'exécution de l'original BaseTest sur son propre et j'ai besoin d'un mécanisme pour empêcher que cela se produise.