Při práci s Mockito a Hamcrest může několik dalších knihoven vylepšit vaše testovací schopnosti. Zde je podrobný přehled některých z těchto knihoven:
Junit
** Junit je základní testovací rámec pro Java, který se dobře integruje s Mockito i Hamcrestem. Poskytuje robustní sadu anotací a tvrzení, která lze použít ve spojení s Mockitoovými zesměšňovacími schopnostmi a Hamcrestovými zápasů. Zejména Junit 5 nabízí vylepšené funkce, jako jsou parametrizované testy a lepší podpora pro vnořené testy, což z něj činí výkonný nástroj pro psaní komplexních jednotek testů.
Powermock
** PowerMock je rozšíření Mockito (a Easymock), které vám umožňuje zesměšňovat statické metody, konečné třídy a soukromé metody, které nejsou možné pouze u Mockito. To je zvláště užitečné při jednání se starým kódem nebo knihovny třetích stran, které nejsou navrženy s ohledem na testovatelnost. Powermock je však považován za složitější a měl by být používán střídmě.
JMock
** JMock je další zesměšňovací knihovna pro Java, kterou lze použít vedle Hamcrestu. I když to není tak široce používáno jako Mockito, JMock poskytuje vlastní sadu funkcí pro vytváření falešných objektů a může být integrován s Hamcrestem pro výraznější tvrzení.
Easymock
** Easymock je další populární zesměšňovací rámec, který lze použít s Hamcrestem. Poskytuje odlišný přístup k vytváření falešných objektů ve srovnání s Mockito se zaměřením na principy rozvoje řízeného chováním (BDD). Easymock lze použít ve spojení s PowerMock pro pokročilejší zesměšňovací schopnosti.
Assertj
** Assertj je knihovna tvrzení, která poskytuje plynulé API pro psaní tvrzení. I když jej lze použít nezávisle na Hamcrestu, Assertj nabízí čitelnější a expresivnější způsob psaní tvrzení ve srovnání s tradičními junitskými tvrzeními. Může být použit spolu s Mockito pro zesměšňování a Hamcrest pro složitější scénáře porovnávání.
Jarní test
Pokud pracujete na jarní aplikaci, jarní test poskytuje další nástroje pro testování jarních komponent. Dobře se integruje s Mockito a lze jej použít k zesměšňování komponent specifických pro jaře, jako jsou služby nebo úložiště. Ačkoli to není přímá náhrada za Mockito, Spring Test nabízí funkce přizpůsobené jarnímu ekosystému.
Stručně řečeno, zatímco Mockito a Hamcrest tvoří výkonnou kombinaci pro testování jednotek, knihovny jako Junit, Powermock, Jmock, Easymock, Assertj a Spring Test mohou dále zlepšit vaše testovací schopnosti v závislosti na vašich konkrétních potřebách a požadavcích na projekt.
Citace:[1] https://www.lambdatest.com/automation-testing-advisor/selenium/methods/org.mockito.hamcrest.mockitohamcrest.mockItohamcrest
[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-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--conpleting-nosuchthoderrror/
[8] https://github.com/mockito/mockito/issues/324
[9] https://stackoverflow.com/questions/18770943/mockito-junit-hamcrest-version
[10] https://hamcrest.org/javahamcrest/distributables