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.

Jan 22, 2020 410

Listing 8 Clasa JUnit4CustomRuleTester

JUnit4CustomRuleTester class.PNG

In listing 8, folosim CustomRule creata anterior facand urmatoarele:

  1. Declaram un camp public CustomRule si il adnotam cu @Rule (1).
  2. 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.

execution JUnit4CustomRuleTester.jpg
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

CustomExtension class.PNG

In listing 9 facem urmatoarele lucruri:

  1. Declaram fiecare CustomExtension ca implementand interfetele AfterEachCallback si BeforeEachCallback (1’).
  2. Trecem peste metoda afterEach, care sa fie executata dupa fiecare testing class care este extinsa cu CustomExtension (2’).
  3. 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

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




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