Testowanie aplikacji za pomocą JUnit5 i EasyMock. Część 1

1. Korzystanie z EasyMock

  1. Rozpoczynamy listę definiującą import z biblioteki EasyMock, której potrzebujemy (1). Widzimy, że w dużym stopniu polegamy na imporcie statycznym.
  2. W (2) deklarujemy obiekt, z którego chcielibyśmy mockować. Zauważ, że nasz AccountManager jest interfejsem; Przyczyna tego jest prosta — podstawowa struktura EasyMock może jedynie mockować obiekty interfejsu.
  3. W (3) wywołujemy metodę createMock, aby utworzyć makietę żądanej klasy.
  4. W (4) tworzymy dwa obiekty kont, których użyjemy w naszych testach. Następnie zaczynamy deklarować nasze oczekiwania.
  5. Dzięki EasyMock deklarujemy oczekiwania na dwa sposoby. Kiedy zwracany typ metody jest unieważniony, wywołujemy go na makiecie obiektu (jak w (5)), lub gdy metoda zwraca dowolny rodzaj obiektu, wtedy musimy użyć metod Expect-andReturn z EasyMock API (6 ).
  6. Gdy skończymy definiować oczekiwania, musimy wywołać metodę replay, aby zrobić announce (7).
  7. W (8) wywołujemy metodę przelewu, aby przelać pieniądze między dwoma rachunkami, aw (9) potwierdzamy oczekiwany wynik.
  8. Metoda @AfterEach, która jest wykonywana po każdej metodzie @Test, zawiera weryfikację oczekiwań. Za pomocą EasyMock możemy wywołać metodę verify z dowolnym obiektem pozorowanym (10), aby sprawdzić, czy zadeklarowane przez nas oczekiwania wywołania metody są wyzwalane. Uwzględnienie weryfikacji w metodzie @AfterEach umożliwia nam łatwe wprowadzanie nowych testów, a stąd będziemy polegać na wykonaniu metody weryfikacji.

--

--

--

https://www.luxoft-training.com/

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Luxoft Training

Luxoft Training

https://www.luxoft-training.com/

More from Medium

Components of JVM

What is JDK, JRE & JVM ?

What are the Components in JVM?

Camel Powers