Noile adnotari si clase introduse in JUnit 5. Nested tests.

Cel de-al treilea articol din cadrul seriei noastre despre noile adnotari si clase introduse in JUnit 5. In acest articol vom discuta despre nested tests.

Oct 7, 2020 28

3. Nested tests

O clasa interna este o clasa care face parte dintr-o alta clasa. Poate accesa orice variabila din instanta privata a clasei externe, ca parte din acea clasa externa. Un exemplu de use case tipic este atunci cand 2 clase sunt strans cuplate, si este logic sa oferim acces direct din cadrul celei interne catre toate variabilele instantei din cadrul celei externe.

Pe baza acestei idei, nested tests ofera celui care scrie testele mai multe optiuni de a exprima relatia dintre diferite grupuri de teste. Clasele interne pot sa fie package private.

Sa presupunem ca avem un program care se ocupa de clienti. Clientii au un gen, un prenume si un nume. Uneori, ar putea avea un al doilea prenume si o data la care au devenit clienti. Din moment ce anumiti parametri ar putea sau nu sa fie prezenti, inginerii folosesc builder pattern pentru a crea un client si pentru a testa un proces corect prin care un client este creat.

Fig 4 arata cum este folosita adnotarea @Nested in cadrul clasei NestedTestsTest. Clientul care este testat se numeste “John Michael Smith” (are un al doilea prenume) precum si o data la care a devenit client.

Nested Tests.JPG


Principalul test este NestedTestsTest (1) si este strans legat de nested test BuilderTest (2).

In primul rand, NestedTestsTest defineste prenumele si numele unui client care este folosit in cadrul tuturor nested tests (3).

Nested test cu numele, BuilderTest, verifica modul in care este construit obiectul Customer (4) cu ajutorul builder pattern (5). Verificarea egalitatii campurilor se face la finalul testului customerBuilder (6).

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.