Dans ma webapp, j'ai une classe ListItem et beaucoup d'autres classes basées sur ce nom mais avec des noms différents.Cas de test Django basés sur le cas de test de base
J'ai actuellement des modules de test séparés pour tous ces modules. Cela signifie qu'il y a beaucoup de répétition du code de test.
J'essaye de créer une classe de BaseListItemTestCase qui a un ensemble self.listitem_model
variable, l'utilise sur tous ses essais. Ce qui signifie que le code n'est pas répété.
Le self.listitem_model
est défini dans un scénario de test enfant contenant uniquement une méthode init() pour le définir.
J'ai fait tout ce qui précède, le problème est, si theres 1 test dans la classe de test de base et j'ai seulement couru le cas de test de l'enfant, le test s'exécute deux fois.
Y a-t-il une raison à cela? Je veux juste que le test que je t'ai demandé de faire tourner.
class BaseListItemTestCase(APITestCase):
def __init__(self, *args, **kwargs):
super(BaseListItemTestCase, self).__init__(*args, **kwargs)
self.listitem_model = None
def test_something(self):
self.assertEqual(self.listitem_model.objects.all().count(), 0)
class LikeListTestCase(BaseListItemTestCase):
def __init__(self, *args, **kwargs):
super(LikeListTestCase, self).__init__(*args, **kwargs)
self.listitem_model = LikeListItem