Je suis actuellement dans une classe de tests de logiciels où pour notre projet de semestre, nous devons effectuer plusieurs types de tests dessus, tels que les tests unitaires et les tests d'intégration. Pour les tests d'intégration, le professeur a dit d'utiliser des simulations et des bibliothèques de simulation (comme EasyMock et Mockito) pour nos tests d'intégration. Je deviens assez confus cependant. Le test d'intégration consiste à tester en dehors des classes, modules, services, etc. Pourquoi les mocks et stubs devraient-ils être utilisés dans les tests d'intégration si vous testez plusieurs classes et services?
unit-testing
testing
integration-tests
mocking
TheLegendOfCode
la source
la source
Réponses:
Si vous avez une fonctionnalité qui touche plusieurs composants externes, vous pouvez vous moquer de tous sauf un pour isoler et tester un composant spécifique. Par exemple, supposons que vous ayez une fonction qui appelle un service Web et fasse ensuite quelque chose avec une base de données basée sur les résultats. Vous pouvez écrire trois tests d'intégration:
Si vous exécutez les trois tests et que 1 et 3 échouent, il y a de fortes chances qu'il y ait un bogue dans votre code qui fonctionne avec la base de données, car le seul test qui a réussi est celui qui utilise la connectivité de la base de données factice.
En général, les tests d'intégration n'utilisent pas de maquette, mais j'ai fait quelque chose comme ça à l'occasion.
la source
On ne sait pas immédiatement ce que l'on entend par test d'intégration, mais l'utilisation de faux / faux / tests doubles est une technique valide pour créer des scénarios de test à tous les niveaux dans la pyramide de tests . [1] [2] [3]
la source