2009-11-12 5 views
1

J'écris une application qui utilise des bibliothèques tierces pour instancier et effectuer des opérations sur des machines virtuelles. Au début, j'écrivais des tests d'intégration à toutes les fonctionnalités de l'application. Au début, je rédigeais des tests d'intégration. Mais eux, j'ai trouvé que ces tests n'étaient pas vraiment utiles car mon environnement devait être à un état déterminé, ce qui rendait les tests de plus en plus difficiles à écrire. Et j'ai décidé de faire seulement l'unité et les tests d'acceptation. Donc, ma question ... est/peut-il y avoir une méthode ou un indice à remarquer lorsque les tests d'intégration ne doivent pas être utilisés? (ou je me trompe et dans tous les cas, ils doivent être écrits)Quand ne pas utiliser les tests d'intégration

Répondre

6

Lorsque vous ne prévoyez pas réellement accrocher votre application à quelque chose de "réel"; pas de vrais conteneurs, bases de données, ressources ou services réels. C'est ce qu'un test d'intégration est censé vérifier; que tout fonctionne correctement ensemble.

1

Les tests d'intégration permettent de tester un système complet dont les entrées et les sorties sont bien définies et qui ne sont pas susceptibles de changer. Si vos entrées/sorties attendues changent souvent, la maintenance du test peut devenir un problème de maintenance ou, pire, vous pouvez choisir d'améliorer une interface en raison de la quantité de travail nécessaire pour mettre à niveau les tests d'intégration.

1

La règle simple et courte est: Test de test d'intégration ce qui brise grâce à l'intégration et tester le reste dans les tests unitaires isolément. Vous pouvez même hate integration tests. L'écriture d'un test unitaire pour une fonction qui ne prend qu'un seul paramètre entier est assez difficile. Toutes les combinaisons d'états possibles (internes et externes (temps, systèmes externes)) et les entrées peuvent rendre les tests d'intégration pratiquement impossibles (pour une application décente.)

Questions connexes