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 752
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.

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 1 JMock Maven dependencies 1.JPG


Listing 2 przedstawia bardzo prosty obiekt Konto z dwiema właściwościami: ID konta i saldem.

The Account class 2.JPG


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):

AccountManager interface 3.JPG


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.

AccountService class 4.JPG


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


Udostępnij

Masz jeszcze jakieś pytania?
Skontaktuj się z nami
Thank you!
The form has been submitted successfully.