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.

Feb 12, 2020 352

Listing 10 JUnit5CustomExtensionTester class

JUnit5CustomExtensionTester class.PNG

In listing 10, facem urmatoarele lucruri:

  1. Extindem JUnit5CustomExtensionTester cu CustomExtension class (1’).
  2. 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.

execution of JUnit5CustomExtensionTester.png

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

Daca iti place acest articol, distribuie-l si prietenilor tai!




Mai ai intrebari?
Contacteaza-ne.
Thank you.
Your request has been received.