Lorsque vous travaillez avec Mockito et Hamcrest, plusieurs autres bibliothèques peuvent améliorer vos capacités de test. Voici un aperçu détaillé de certaines de ces bibliothèques:
Junit
** Junit est un cadre de test fondamental pour Java qui s'intègre bien à Mockito et à Hamcrest. Il fournit un ensemble robuste d'annotations et d'affirmations qui peuvent être utilisées en conjonction avec les capacités moqueuses de Mockito et les correspondants de Hamcrest. JUnit 5, en particulier, offre des fonctionnalités améliorées telles que des tests paramétrés et un meilleur support pour les tests imbriqués, ce qui en fait un outil puissant pour écrire des tests unitaires complets.
PowerMock
** PowerMock est une extension de Mockito (et EasyMOCK) qui vous permet de se moquer des méthodes statiques, des classes finales et des méthodes privées, qui ne sont pas possibles avec Mockito seul. Ceci est particulièrement utile pour traiter le code hérité ou les bibliothèques tierces qui ne sont pas conçues avec la testabilité à l'esprit. Cependant, PowerMock est considéré comme plus complexe et doit être utilisé avec parcimonie.
JMock
** JMock est une autre bibliothèque moqueuse pour Java qui peut être utilisée aux côtés de Hamcrest. Bien qu'il ne soit pas aussi largement utilisé que Mockito, JMock fournit son propre ensemble de fonctionnalités pour créer des objets simulés et peut être intégré à Hamcrest pour des affirmations plus expressives.
Easymock
** EasyMOCK est un autre cadre moqueur populaire qui peut être utilisé avec Hamcrest. Il fournit une approche différente de la création d'objets simulés par rapport à Mockito, en se concentrant sur les principes de développement axés sur le comportement (BDD). EasyMOCK peut être utilisé conjointement avec PowerMock pour des capacités de moquerie plus avancées.
assertj
** ASSERTJ est une bibliothèque d'assertion qui fournit une API courante pour rédiger des affirmations. Bien qu'il puisse être utilisé indépendamment de Hamcrest, AssertJ offre une manière plus lisible et expressive d'écrire des affirmations par rapport aux assertions traditionnelles JUnit. Il peut être utilisé aux côtés de Mockito pour se moquer et Hamcrest pour des scénarios de correspondance plus complexes.
Test de printemps
Si vous travaillez sur une application basée sur Spring, Spring Test fournit des outils supplémentaires pour tester les composants Spring. Il s'intègre bien à Mockito et peut être utilisé pour se moquer des composants spécifiques au ressort comme les services ou les référentiels. Bien qu'il ne soit pas un remplacement direct de Mockito, Spring Test offre des fonctionnalités adaptées à l'écosystème de ressort.
En résumé, alors que Mockito et Hamcrest forment une combinaison puissante pour les tests unitaires, les bibliothèques comme JUnit, PowerMock, JMock, EasyMOCK, ASSERTJ et le test de printemps peuvent améliorer encore vos capacités de test en fonction de vos besoins spécifiques et de vos exigences de projet.
Citations:[1] https://www.lambdatest.com/automation-tetsting-advisor/selenium/methods/org.mockito.hamcrest.mockitohamcrest.mockithamcrest
[2] https://hamcrest.org/javahamcrest/tutorial
[3] https://www.javacodegeeks.com/2015/11/hamcrest-matchers-tutorial.html
[4] https://www.infoworld.com/article/2257253/junit-5-tutorial-part-1-unit-testing-with-junit-5-mockito-and-hamcrest.html
[5] https://stackoverflow.com/questions/20441594/mockito-and-hamcrest-how-to-verify-invocation-of-collection-argument
[6] https://stackoverflow.com/questions/22697/whats-the-best-mock-framework-for-java
[7] https://tedvinke.wordpress.com/2013/12/17/mixing-junit-hamcrest-and-mockito-explication-nosuchMethoDerror/
[8] https://github.com/mockito/mockito/issues/324
[9] https://stackoverflow.com/questions/18770943/mockito-junit-hamcrest-versioning
[10] https://hamcrest.org/javahamcrest/distributibles