Bij het werken met Mockito en Hamcrest kunnen verschillende andere bibliotheken uw testmogelijkheden verbeteren. Hier is een gedetailleerd overzicht van enkele van deze bibliotheken:
Junit
** Junit is een fundamenteel testkader voor Java dat goed integreert met zowel Mockito als Hamcrest. Het biedt een robuuste set annotaties en beweringen die kunnen worden gebruikt in combinatie met de spotmogelijkheden van Mockito en de matchers van Hamcrest. Vooral Junit 5 biedt verbeterde functies zoals geparametriseerde tests en betere ondersteuning voor geneste tests, waardoor het een krachtig hulpmiddel is voor het schrijven van uitgebreide eenheidstests.
PowerMock
** PowerMock is een uitbreiding van Mockito (en Easym) waarmee u statische methoden, eindklassen en privémethoden kunt bespotten, die niet mogelijk zijn met Mockito alleen. Dit is met name handig bij het omgaan met oude code of bibliotheken van derden die niet zijn ontworpen met testbaarheid in gedachten. PowerMock wordt echter als complexer beschouwd en moet spaarzaam worden gebruikt.
JMOCK
** JMOCK is een andere spottende bibliotheek voor Java die naast Hamcrest kan worden gebruikt. Hoewel het niet zo veel wordt gebruikt als Mockito, biedt JMock zijn eigen set functies voor het maken van nepobjecten en kan hij worden geïntegreerd met Hamcrest voor meer expressieve beweringen.
Easymock
** EasyMock is een ander populair spotraamwerk dat kan worden gebruikt met Hamcrest. Het biedt een andere benadering voor het creëren van proefobjecten in vergelijking met Mockito, gericht op gedragsgestuurde ontwikkeling (BDD) -principes. Easymock kan worden gebruikt in combinatie met PowerMock voor meer geavanceerde spotmogelijkheden.
assertj
** AssertJ is een beweringbibliotheek die een vloeiende API biedt voor het schrijven van beweringen. Hoewel het onafhankelijk van Hamcrest kan worden gebruikt, biedt AssertJ een meer leesbare en expressieve manier om beweringen te schrijven in vergelijking met traditionele Junit -beweringen. Het kan worden gebruikt naast Mockito voor het spotten en hambest voor complexere matching -scenario's.
Springstest
Als u werkt aan een op de voorjaar gebaseerde applicatie, biedt Spring Test extra hulpmiddelen voor het testen van veercomponenten. Het integreert goed met Mockito en kan worden gebruikt om veerspecifieke componenten zoals services of repositories te bespotten. Hoewel geen directe vervanging voor Mockito, biedt Spring Test functies op maat van het veerecosysteem.
Samenvattend, terwijl Mockito en Hamcrest een krachtige combinatie vormen voor eenheidstests, kunnen bibliotheken zoals Junit, PowerMock, JMock, EasyMock, AssertJ en Spring Test uw testmogelijkheden verder verbeteren, afhankelijk van uw specifieke behoeften en projectvereisten.
Citaten:[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-andhamcrest.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- explaining-nosuchMethoDror/
[8] https://github.com/mockito/mockito/issues/324
[9] https://stackoverflow.com/questions/18770943/mockito-junit-hamcrest-ersioninging
[10] https://hamcrest.org/javahamcrest/distributables