Migrarea de la JUnit 4 la JUnit 5: implementare, dependencies, adnotari. Partea a doua.

Cel de-al doilea articol din seria noastra legata de implementarea migrarii de la JUnit 4 la JUnit 5, dependencies si adnotari. In acest articol ne vom uita la dependencies.

Aug 11, 2020 78
Cel de-al doilea articol din seria noastra legata de implementarea migrarii de la JUnit 4 la JUnit 5, dependencies si adnotari. In acest articol ne vom uita la dependencies.

2. Dependencies necesare

Sa discutam un pic despre procesul de migrare de la JUnit 4 la JUnit 5. JUnit 5 ne permite sa etichetam testele cu display names folosind teste nested si dynamic.
JUnit 4 are o arhitectura monolit, asa ca exista o singura dependency in configuratia Maven care nu suporta rularea testelor JUnit 4 (fig 1).

JUnit 4 Maven dependency.JPG
Fig 1 JUnit 4 Maven dependency



O JUnit 5 dependency, JUnit Vintage, poate sa o inlocuiasca asa cum apare in figura 1 in timpul migrarii. Primele lucruri care trebuie facut in timpul migrarii sunt la nivelul de dependencies care sunt folosite.

Prima este junit-vintage-engine (fig 2). Apartine JUnit 5 dar asigura compatibilitatea cu versiunile anterioare ale JUnit. Introducerea acestei dependency este primul pas in procesul de migrare. Testele JUnit 4 si JUnit 5 pot sa coexiste in cadrul aceluiasi proiect pana cand procesul de migrare este finalizat.

JUnit Vintage Maven dependency.JPG
Fig 2 JUnit Vintage Maven dependency



In rularea testelor JUnit 4 acum, putem sa vedem ca sunt executate cu succes, dupa cum se arata in figura 3. Faptul ca lucram cu JUnit 5 Vintage dependency in locul JUnit 4 dependency nu are nici un impact.

Running JUnit 4 tests.png


Fig. 3 Rularea testelor JUnit 4 dupa inlocuirea JUnit 4 dependency cu JUnit 5 Vintage


Dupa introducerea JUnit Vintage dependency, migrarea poate sa continue prin introducerea adnotarilor si functionalitatilor JUnit 5 Jupiter. Dependencies necesare apar in figura 4.

useful JUnit Jupiter Maven dependencies.JPG


Fig 4 Cele mai utile JUnit Jupiter Maven dependencies

Pentru a scrie teste folosind JUnit 5, vom avea intotdeauna nevoie de junit-jupiter-api si junit-jupiter-engine dependencies. Prima reprezinta un API pentru scrierea de teste cu JUnit Jupiter (inclusiv adnotarile, clasele si metodele catre care se migreaza). Cea de-a doua reprezinta pachetul de baza JUnit Jupiter pentru execution test engine.

O dependency aditionala de care s-ar putea sa avem nevoie este junit-jupiter-params (pentru rularea testelor parametrizate). La finalul procesului de migrare (cand nu mai sunt teste JUnit 4), putem sa scoatem junit-vintage-engine dependency, care apare in fig 2.

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!




Luxoft Warsaw - Warsaw Spire, plac Europejski 1, 00-844 Warszawa
Dimitrie Pompeiu nr 5-7 , building C, Et. 5, sect 2, Bucharest, 014459

Contact phone:

021 371 4858
Luxoft Poland Wroclaw - Silver Tower pl. Konstytucji 3-go Maja 3 50-048 Wroclaw
Aleja Generała Tadeusza Bora-Komorowskiego 25, Quattro Business Park Five, 31-476 Kraków, Poland

Contact phone:

+48 122110650
Success
Iti multumim.
Inregistrarea ta a fost trimisa.