Migrarea de la JUnit 4 la JUnit 5 inlocuirea regulilor cu extension model. Partea 4
Migrarea de la JUnit 4 la JUnit 5 inlocuirea regulilor cu extension model. Partea 4
Inca un articol din seria noastra unde analizam migrarea de la JUnit 4 la JUnit 5.
22 Jan 2020
629
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 8 Clasa JUnit4CustomRuleTester
In listing 8, folosim CustomRule creata anterior facand urmatoarele:
- Declaram un camp public CustomRule si il adnotam cu @Rule (1).
- Cream metoda myCustomRuleTest si o adnotam cu @Test (2).
Rezultatul acestui test apare mai jos. Executia efectiva a testului este inconjurata de mesajele suplimentare oferite in cadrul metodei evalute a clasei CustomStatement.

Fig 1 Rezultatul executiei JUnit4CustomRuleTester.
Acum ne uitam la abordarea oferita de JUnit 5. JUnit 5 permite efecte similare cu regulile JUnit 4 prin introducerea propriilor extensii. Codul este mai restrans si se bazeaza pe declarative annotations style. Primul pas este sa definim clasa CustomExtension, care este folosita ca un argument al adnotarii @ExtendWith asupra clasei testate.
Listing 9 Clasa CustomExtension
In listing 9 facem urmatoarele lucruri:
- Declaram fiecare CustomExtension ca implementand interfetele AfterEachCallback si BeforeEachCallback (1’).
- Trecem peste metoda afterEach, care sa fie executata dupa fiecare testing class care este extinsa cu CustomExtension (2’).
- Trecem peste metoda beforeEach, care sa fie executata dupa fiecare test method din testing class si este extinsa cu CustomExtension (3’).
Vrei sa inveti mai multe despre aceasta tehnologie? Descopera cursurile noastre.
Catalin Tudose
Java and Web Technologies Expert