Testarea aplicatiilor cu JUnit5 si JMock
Testarea aplicatiilor cu JUnit5 si JMock
Sunt foarte multe proiecte bune care au fost dezvoltate pentru a ne ajuta sa facilitam folosirea de mock objects in proiectele noastre Java. In aceasta serie de articole analizam trei dintre cele mai folosite frameworks: EasyMock, JMock si Mockito. Continuam discutia noastra cu JMock de aceasta data.
11 Nov 2020
552
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
1. Cum folosim JMock
Pana acum am vazut cum sa implementam propriile noastre mock-objects si cum sa folosim framework-ul EasyMock. Acum vom discuta despre framework-ul Jmock (http://jmock.org/), pentru a vedea o alta optiune de mocking. Vom urma acelasi scenariu ca in articolul anterior: testarea unui transfer de fonduri cu ajutorul unui mock AccountManager, dar folosind JMock de aceasta data.
Pentru a lucra cu JMock, trebuie sa adaugam fisierul pom.xml la dependencies din listing 1:
Listing 2 prezinta un simplu Account object cu doua proprietati: un account ID si un sold.
Listing 3 prezinta interfata AccountManager care coordoneaza ciclul de viata si persistenta Account objects (limitat la gasirea de conturi dupa ID si actualizarea lor):
Listing 4 arata metoda de transfer prin care banii sunt transferati intre doua conturi. Foloseste interfata AccountManager definita anterior pentru a gasi conturile de debit si credit dupa ID si pentru a le actualiza.
Vrem sa putem face un unit test pe comportamentul AccountService.transfer. Pentru asta, pana cand implementarea interfetei AccountManager este gata, vom folosi o mock implementation a interfetei AccountManager deoarece metoda de transfer foloseste interfata si trebuie sa o testam izolat.
Vrei sa inveti mai multe despre aceasta tehnologie? Descopera cursurile noastre.
Catalin Tudose
Java and Web Technologies Expert