Testarea aplicatiilor cu JUnit 5 si Mockito. Partea doua
Cel de-al doilea articol din seria noastra despre EasyMock, JMock si Mockito. Lectura placuta.
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
Originally published at https://www.luxoft-training.ro.