Testowanie aplikacji za pomocą JUnit5 i JMock. Część 1
Testowanie aplikacji za pomocą JUnit5 i JMock. Część 1
Napisano już wiele dobrych projektów, które pomogą nam ułatwić korzystanie z atrapy obiektów w naszych projektach Java. W tej serii artykułów przyjrzymy się bliżej trzem najczęściej używanym makietom frameworków: EasyMock, JMock i Mockito. Kontynuujemy serię z Jmockiem.
23 cze 2020
788
Other articles
Testowanie aplikacji za pomocą JUnit5 i JMock. Część 2
Jak przygotować się do certyfikacji IIBA. Wyzwania i hacki
Testowanie aplikacji za pomocą JUnit5 i Mockito. Część 2
Testowanie aplikacji za pomocą JUnit5 i Mockito. Część 1
Testowanie aplikacji za pomocą JUnit5 i EasyMock. Część 2
Testowanie aplikacji za pomocą JUnit5 i EasyMock. Część 1
Test Driven Development z użyciem JUnit 5. Część 6
Test Driven Development z użyciem JUnit 5. Część 5
Test Driven Development z użyciem JUnit 5. Część 4
Test Driven Development z uzyciem JUnit 5. Czesc 3
Napisano już wiele dobrych projektów, które pomogą nam ułatwić korzystanie z atrapy obiektów w naszych projektach Java. W tej serii artykułów przyjrzymy się bliżej trzem najczęściej używanym makietom frameworków: EasyMock, JMock i Mockito. Kontynuujemy serię z Jmockiem.
Do tej pory widzieliśmy, jak zaimplementować własne makiety obiektów i jak używać frameworka EasyMock. W tej sekcji przedstawiamy strukturę JMock (http://jmock.org/), aby uzyskać pełny obraz różnych technik mockowania. Będziemy postępować zgodnie z tym samym scenariuszem: testowanie przelewu za pomocą pozorowanego menedżera konta, tym razem przy użyciu JMocka.
Aby pracować z JMockiem, musimy dodać do pliku pom.xml zależności z listingu 1:
Listing 2 przedstawia bardzo prosty obiekt Konto z dwiema właściwościami: ID konta i saldem.
Listing 3 przedstawia interfejs AccountManager, który zarządza cyklem życia i trwałością obiektów kont (ograniczone do wyszukiwania kont według identyfikatora i aktualizowania kont):
Listing 4 przedstawia metodę przelewu przeznaczoną do przesyłania pieniędzy między dwoma rachunkami. Używa wcześniej zdefiniowanego interfejsu AccountManager do wyszukiwania rachunków debetowych i kredytowych według identyfikatora i do ich aktualizacji.
Chcemy mieć możliwość testowania jednostkowego zachowania AccountService.transfer. W tym celu, dopóki implementacja interfejsu AccountManager nie będzie gotowa, będziemy posługiwać się próbną implementacją interfejsu AccountManager, ponieważ metoda przelewu korzysta z tego interfejsu i musimy to przetestować w izolacji.
1. Korzystanie z JMock
Do tej pory widzieliśmy, jak zaimplementować własne makiety obiektów i jak używać frameworka EasyMock. W tej sekcji przedstawiamy strukturę JMock (http://jmock.org/), aby uzyskać pełny obraz różnych technik mockowania. Będziemy postępować zgodnie z tym samym scenariuszem: testowanie przelewu za pomocą pozorowanego menedżera konta, tym razem przy użyciu JMocka.
Aby pracować z JMockiem, musimy dodać do pliku pom.xml zależności z listingu 1:
Listing 2 przedstawia bardzo prosty obiekt Konto z dwiema właściwościami: ID konta i saldem.
Listing 3 przedstawia interfejs AccountManager, który zarządza cyklem życia i trwałością obiektów kont (ograniczone do wyszukiwania kont według identyfikatora i aktualizowania kont):
Listing 4 przedstawia metodę przelewu przeznaczoną do przesyłania pieniędzy między dwoma rachunkami. Używa wcześniej zdefiniowanego interfejsu AccountManager do wyszukiwania rachunków debetowych i kredytowych według identyfikatora i do ich aktualizacji.
Chcemy mieć możliwość testowania jednostkowego zachowania AccountService.transfer. W tym celu, dopóki implementacja interfejsu AccountManager nie będzie gotowa, będziemy posługiwać się próbną implementacją interfejsu AccountManager, ponieważ metoda przelewu korzysta z tego interfejsu i musimy to przetestować w izolacji.
Zainteresowany JUnit? Sprawdź nasze szkolenia.
Catalin Tudose
Java and Web Technologies Expert