Podczas pracy z Mockito i Hamcrestem kilka innych bibliotek może poprawić możliwości testowania. Oto szczegółowy przegląd niektórych z tych bibliotek:
Junit
** Junit to fundamentalne ramy testowe dla Java, które dobrze integrują się zarówno z Mockito, jak i Hamcrest. Zapewnia solidny zestaw adnotacji i twierdzeń, które można użyć w połączeniu z kpiącymi możliwościami Mockleto i dopasowaczami Hamcresta. W szczególności Junit 5 oferuje ulepszone funkcje, takie jak sparametryzowane testy i lepsze wsparcie dla testów zagnieżdżonych, co czyni go potężnym narzędziem do pisania kompleksowych testów jednostkowych.
Powermock
** Powermock to przedłużenie Mockleto (i Easymock), które pozwala kpić metody statyczne, klasy końcowe i metody prywatne, które nie są możliwe w samym Mockito. Jest to szczególnie przydatne w kontaktach ze starszym kodem lub bibliotekami stron trzecich, które nie są zaprojektowane z myślą o testowalności. Jednak Powermock jest uważany za bardziej złożony i powinien być używany oszczędnie.
Jmock
** JMock to kolejna kpiąca biblioteka dla Java, której można używać obok Hamcrest. Chociaż nie jest tak szeroko stosowany jak Mockleto, JMock zapewnia własny zestaw funkcji do tworzenia próbnych obiektów i może być zintegrowany z Hamcrest w celu uzyskania bardziej ekspresyjnych twierdzeń.
Easymock
** Easymock to kolejna popularna kpiąca ramy, które można użyć z Hamcrestem. Zapewnia inne podejście do tworzenia próbnych obiektów w porównaniu do Mockleto, koncentrując się na zasadach rozwoju zachowania (BDD). Easymock może być używany w połączeniu z PowerMock, aby uzyskać bardziej zaawansowane możliwości kpiny.
AssertJ
** AssertJ to biblioteka twierdzi, która zapewnia płynną interfejs API do pisania twierdzeń. Chociaż może być używany niezależnie od Hamcrest, AssertJ oferuje bardziej czytelny i wyrazisty sposób pisania twierdzeń w porównaniu z tradycyjnymi twierdzeniami Junit. Można go używać obok Mockito do kpiny i Hamcrest w celu uzyskania bardziej złożonych scenariuszy dopasowania.
test wiosenny
Jeśli pracujesz nad aplikacją wiosenną, test sprężyny zapewnia dodatkowe narzędzia do testowania komponentów sprężyn. Dobrze integruje się z Mockito i może być używany do kpiny komponentów specyficznych dla sprężyny, takich jak usługi lub repozytoria. Chociaż nie jest bezpośrednim zamiennikiem Mockito, Spring Test oferuje funkcje dostosowane do ekosystemu Spring.
Podsumowując, podczas gdy Mockito i Hamcrest tworzą potężną kombinację testowania jednostkowego, biblioteki takie jak Junit, Powermock, JMock, Easymock, AssertJ i Spring Test mogą dodatkowo zwiększyć możliwości testowania w zależności od konkretnych potrzeb i wymagań projektu.
Cytaty:[1] https://www.lambdatest.com/automation-testing-advisor/selenium/methods/org.mockito.hamcrest.mockitohamcrest.mockitohamcrest
[2] https://hamcrest.org/jahamcrest/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/mocks-and-hamcrest-how-to-verify-invocation-ofcollection-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-mockleo-explinging-noSuchmethoderror/
[8] https://github.com/mockito/mockito/issues/324
[9] https://stackoverflow.com/questions/18770943/mockoto-junit-hamcrest-wersja
[10] https://hamcrest.org/jahammcrest/distributables