Testarea aplicatiilor cu JUnit 5 si Mockito. Partea doua
Cel de-al doilea articol din seria noastra despre EasyMock, JMock si Mockito. Lectura placuta.
Dec 15, 2020 84
Alte articole
Test Driven Development cu JUnit 5. Partea a sasea
Test Driven Development cu JUnit 5. Partea a cincea
Test Driven Development cu JUnit 5. Partea a patra
Test Driven Development cu JUnit 5. Partea a treia
Test Driven Development cu JUnit 5. Partea a doua.
Cum sa te pregatesti pentru certificarile IIBA. Provocari si solutii
Test Driven Development cu JUnit 5
Testarea aplicatiilor cu JUnit 5 si Mockito. Prima parte
Testarea aplicatiilor cu JUnit5 si JMock 2. Partea a doua
Testarea aplicatiilor cu JUnit5 si JMock
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