'Y'

JUnit 5 – Assertions si Assumptions

Abstract: JUnit este un unit testing framework pentru limbajul de programare Java. Versiunea JUnit 5 a fost reproiectata pentru a rezolva unele probleme specifice ale versiunilor anterioare. Aceasta vine cu o noua arhitectura si cu multe functionalitati noi. In plus fata de cele prezentate in articolul nostru anterior, aici vom discuta despre assertions si assumptions.

Apr 17, 2019 661
Abstract: JUnit este un unit testing framework pentru limbajul de programare Java. Versiunea JUnit 5 a fost reproiectata pentru a rezolva unele probleme specifice ale versiunilor anterioare. Aceasta vine cu o noua arhitectura si cu multe functionalitati noi. In plus fata de cele prezentate in articolul nostru anterior, aici vom discuta despre assertions si assumptions.

1. Assertions in JUnit 5

JUnit Jupiter vine cu mai multe assertion methods decat JUnit 4. De asemenea adauga cateva care se preteaza la utilizarea cu Java 8 lambdas. Toate assertions in JUnit Jupiter sunt metode statice in clasa org.junit.jupiter.api.Assertions.

O comparatie intre assertions in JUnit 4 si JUnit 5 arata astfel:

Assertions in JUnit 5 Programare Programator.png


Mesajul din assertions este ultimul parametru al metodelor:

static void programare JUnit5.JPG


Supplier permite lazy initialization in cazul mesajelor complexe.

Acesta este modul in care o parte din cod care utilizeaza multe dintre assertions posibile va arata:

assertions programare junit5.JPG

test_junit5_programare_programator.JPG

test_junit5_programare_programator.JPG

Metoda assertAll va efectua verificarea tuturor assertions. Are un heading parameter optional. Heading parameter permite recunoasterea grupului de assertions din cadrul entitatii assertAll. Mesajul de greseala al metodei assertAll arata informatii detaliate despre fiecare field assertion dintr-un grup.

Metodele sunt:

assertAll programare JUnit5.JPG

Acesta este modul in care utilizarea metodelor assertAll poate arata:

assertAll metode programare JUnit5.JPG

Metoda assertTimeout inlocuieste Regula JUnit 4 Timeout.


assertTimeout asteapta pana cand executabilul va termina. Mesajul de eroare ar putea arata ca: execution exceeded timeout of 100 ms by 193 ms

assertTimeoutPreemptively opreste executabilul atunci cand trece timpul. Mesajul de eroare ar putea arata ca: execution timed out after 100 ms


Acesta este modul in care utilizarea metodelor assertTimeout ar putea arata:

assertTimeout metode programare JUnit 5.JPG

Metoda assertThrows este o inlocuire a Regulii JUnit 4 ExpectedException. Toate assertions pot fi facute impotriva returned instance of a Throwable. Acest lucru face ca testele sa fie mai usor de citit. Ca executabile putem folosi lambdas sau methods references.

Metoda este:

static T extends programare JUnit5.JPG

Acesta este modul in care utilizarea metodelor assertThrows ar putea arata:

assertThrows_1_programare_JUnit 5.JPG
assertThrows_programare_JUnit5.JPG

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.