Migrarea de la JUnit 4 la JUnit 5 inlocuirea regulilor cu extension model. Partea 5
Migrarea de la JUnit 4 la JUnit 5 inlocuirea regulilor cu extension model. Partea 5
Ultimul articol din seria noastra despre JUnit 4 versus JUnit 5.
12 Feb 2020
545
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
Listing 10 JUnit5CustomExtensionTester class
In listing 10, facem urmatoarele lucruri:
- Extindem JUnit5CustomExtensionTester cu CustomExtension class (1’).
- Cream metoda myCustomRuleTest si o adnotam cu @Test (2).
Cand test class este extinsa cu clasa CustomExtension, metodele beforeEach si afterEach definite anterior sunt executate inainte si dupa fiecare metoda de testare.
Rezultatul executarii acestui test apare in imaginea de mai jos. Executarea efectiva a testului este inconjurata de mesaje aditionale.

Figure 2 Rezultatul executarii JUnit5CustomExtensionTester.
Remarcam diferenta clara in ceea ce priveste claritatea si lungimea codului intre JUnit 4 si JUnit 5. Abordarea JUnit 4 necesita sa lucram cu 3 clase in timp ce abordarea JUnit 5 necesita doar 2 clase. Codul care trebuie executat inainte si dupa fiecare metoda de testare este izolat in cadrul unei metode dedicate cu un nume clar. Pe aria legata de testing class, trebuie sa o adnotezi doar cu @ExtendWith.
Concluzii
In cadrul acestui articol am vrut sa va aratam migrarea de la JUnit4 rules la JUnit 5 extensions prin diferite exemple. Am migrat codul folosind exceptions rules, temporary rules si custom rules. Am analizat diferentele intre codul original si abordarea JUnit 5 extensions – mai clara si mai scurta. JUnit 4 rules raman in continuare utlizare, deoarece exista un nivel ridicat de teste deja scrise. Insa ideal este sa incepeti sa migrati catre abordarea JUnit 5 extensions.
Vrei sa inveti mai multe despre aceasta tehnologie? Descopera cursurile noastre.
Catalin Tudose
Java and Web Technologies Expert