Testarea aplicatiilor cu JUnit 5 si Mockito. Partea doua
Testarea aplicatiilor cu JUnit 5 si Mockito. Partea doua
Cel de-al doilea articol din seria noastra despre EasyMock, JMock si Mockito. Lectura placuta.
15 Dec 2020
1816
Other articles
Object-relational Mapping folosind JPA, Hibernate si Spring Data JPA. Persistence cu JPA
Cum sa interogam Kafka Streaming Data?
Procrastinarea. Care sunt avantajele ei?
Object-relational Mapping folosind JPA, Hibernate si Spring Data JPA
Procrastinarea
Cerinte. De ce avem nevoie de ele?
Dezvolta-ti abilitatile cu training-urile noastre
Programarea reactiva Java. Implementari
Testarea software. Intrebari tipice si raspunsuri. Continuare
Testarea software. Intrebari tipice si raspunsuri
In imaginea de mai sus facem urmatoarele lucruri:
- Importam dependencies necesare, static si non-static in acest exemplu (1).
- Extindem acest test folosind MockitoExtension (2). Pentru acest exemplu Mockito, aceasta extensie este necesara pentru a putea crea mock objects prin adnotari asa cum facem la punctul (3). Acest lucru ii spune lui Mockito sa creeze un mock object de tipul ConnectionFactory si un mock object de tipul InputStream.
- La (4) incepem sa declaram asteptarile. Poti observa modul in care declaram executia consecutiva a metodei read() a stream-ului (5), precum si valorile returnate.
- La (6) apelam metoda care este testata si la (7) afirmam rezultatul asteptat.
- Oferim si o alta metoda @Test, care testeaza WebClient in conditii exceptionale. La (8) declaram asteptarile metodei factory.getData() si la (9) declaram asteptarile metodei mockStream.read(). La (10) instruim Mockito sa ridice o IOException cand inchidem stream-ul.
Concluzii
Acest articol a demonstrat pasii necesari pentru a testa o aplicatie Java cu JUnit 5 si Mockito. Am aratat cum sa testam functionalitatea AccountService facand mocking al AccountManager si WebClient facand mocking al ConnectionFactory si un InputStream.Dupa cum poti vedea, framework-ul Mockito poate sa fie folosit cu noul JUnit 5 extension model – si nu programatic, ca JMock, ci prin folosirea JUnit 5 @ExtendWith si a adnotarii Mockito @Mock.
Vrei sa inveti mai multe despre aceasta tehnologie? Descopera cursurile noastre.
Catalin Tudose
Java and Web Technologies Expert