web-dev-qa-db-fra.com

MOCKITO: Qu'est-ce que c'est et en quoi est-il différent de Junit

Je veux savoir ce qu'est Mockito?

Prend-il en charge Junit ou s'agit-il d'un environnement pour écrire des cas de test Junit?

Quelqu'un peut-il m'expliquer la différence entre Junit et Mockito?

31
Random

JUnit est un framework qui aide à écrire et exécuter vos tests unitaires.

Mockito (ou tout autre outil de simulation) est un cadre que vous utilisez spécifiquement pour écrire efficacement certains types de tests.

Un aspect essentiel des tests unitaires est le fait que vous souhaitez isoler votre "classe sous test" de toute autre chose dans le monde. Pour ce faire, vous devez très souvent créer des "doubles tests" que vous fournissez à un objet de votre "classe sous test". Vous pouvez créer manuellement tous ces "tests doubles"; ou vous utilisez un framework moqueur qui génère objet d'une certaine classe pour vous en utilisant des techniques de réflexion. Il est intéressant de noter que certaines personnes préconisent de ne jamais utiliser de cadres moqueurs; mais honnêtement: je ne peux pas imaginer faire ça.

En d'autres termes: vous pouvez certainement utiliser JUnit sans utiliser un framework de simulation. Il en va de même pour la direction inverse; mais en réalité, il n'y a pas beaucoup de bonnes raisons pour lesquelles vous voudriez utiliser Mockito pour autre chose que des tests unitaires.

25
GhostCat

JUnit est la bibliothèque Java utilisée pour écrire des tests (prend en charge l'exécution de tests et différentes aides supplémentaires - comme les méthodes de configuration et de démontage, les ensembles de tests, etc.). Mockito est une bibliothèque qui permet d'écrire des tests en utilisant l'approche moqueuse .

Voir ici un bel article sur les tests moqueurs vs non moqueurs: http://martinfowler.com/articles/mocksArentStubs.html

7
Alexandru Marina