Dependency Injection si Testing in JUnit 5. Partea a doua

A venit momentul pentru cel de-al doilea articol din seria noastra despre Dependency Injection si Testing in JUnit 5. De data aceasta ne uitam la teste repetate.

May 4, 2020 58

2. Teste repetate


JUnit 5 ofera posibilitatea de a repeta un test de mai multe ori atat timp cat adnotam o metoda cu @RepeatedTest si specificam numarul de repetari dorit. Acest lucru este util atunci cand anumite conditii se pot schimba de la un test la altul. Fiecare invocare a unui test repetat se comporta precum executia unei @Test method normale cu full support pentru lifecycle callbacks si extensii.

Pe langa specificarea numarului de repetitii, un nume personalizat poate sa fie configurat pentru fiecare repetitie prin intermediul atributului nume a adnotarii @RepeatedTest. Urmatoarele placeholdersexista in acest moment:
  • {displayName}: arata numele metodei @RepeatedTest
  • {currentRepetition}: numarul curent al repetarii
  • {totalRepetitions}: numarul total de repetari

Listing 3 arata folosirea testelor repetate, folosirea display name placeholders si folosirea parametrilor RepetitionInfo. Scenariul primul test repetat verifica faptul ca executia metodei add din clasa Calculator este stabila si ofera intotdeauna acelasi rezultat. Scenariul celui de-al doilea test repetat verifica daca colectiile adopta comportamentul potrivit: o lista primeste un nou element la fiecre iteratie, dar un set nu o sa primeaza elemente duplicate, chiar daca incercam sa le inseram de cateva ori.

The usage of repeated tests Dependency Injection and Testing in JUnit 5.JPG


Legat de exemplul de mai sus remarcam urmatoarele aspecte:

  1. Primul test este repetat de 5 ori si pentru fiecare repetitie vedem display name, numarul curent al repetitie si numarul total de repetitii (1).
  2. Cel de-al doilea test este repetat de 5 ori si pentru fiecare repetitie vedem numarul de elemente din lista (adica numarul repetitie) si faptul ca setul are doar un element (2).
  3. La executia fiecarui al doilea test repetat, numarul repetitiei este aratat pe masura ce este introdus in parametrul RepetitionInfo (3).
Rezultatul executiei testelor anterioare apare la fig 2 si 3. 

Repetead Tests Dependency Injection and Testing in JUnit 5.JPG

Numele testelor repetate in timpul executiei

repeated tests .jpg


Numele afisat de fiecare al doilea test repetat



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.