Testcase JUnit în Java: Tutorial simplu JUnit 5.7.1 Hello World cu detalii All in One

Publicat: 2019-10-30
java-junit-exemplu

Ce este JUnit?

JUnit este un cadru simplu, puternic, open source pentru a scrie și a rula teste repetabile. Îmi plac testele JUnit. În timpul dezvoltării proiectului meu Java, folosesc pe scară largă JUnit pentru acoperirea codului. Este o instanță a arhitecturii xUnit pentru cadrele de testare unitară.

Caracteristicile JUnit includ:

  1. Afirmații pentru testarea rezultatelor așteptate
  2. Dispozitive de testare pentru partajarea datelor comune de testare
  3. Testare alergători pentru teste de rulare

În acest tutorial, voi acoperi punctele 1 și 3. Aveți nevoie de mai jos dependențe maven în proiectul dvs.

Să începem să scriem cod.

Pasul 1

Creați proiectul CrunchifyJunitTest și specificați pachetul com.crunchify.junit . Iată o structură a pachetului pentru referință rapidă.

Structura Proiectului Crunchify JUnit Eclipse

Pasul 2

Faceți clic dreapta pe CrunchifyJunitTest => New Class => CrunchifyJunitTest.java

Pasul 3

Eclipse va sugera și va adăuga automat dependența org.junit.Test odată ce tastați @Test .

Eclipse Test Maven Dependență

Pasul-4

Pentru a vă testa testul JUnit

  • Faceți clic dreapta pe clasă
  • Faceți clic pe Run As
  • Faceți clic pe JUnit Test

Ar trebui să vezi așa ceva.

Testul JUnit a reușit

Pasul-5

Încercați să schimbați parametrul pentru valoarea așteptată a metodei de la 30 => 300 și de la Hello World => Hello -- World și testați din nou.

Eșecul testului JUnit - Sfaturi Crunchify

Pasul-6

Acum să rulăm același caz de testare via other java . Creați CrunchifyRunnerJUnit.java

Pasul-7

Rulați CrunchifyRunnerJUnit.java ca Java Application .

Pasul-8

În cazul 1st code (parametrul corect așteptat), ar trebui să vedeți rezultatul astfel:

Pasul-9

În cazul celui de-al 2nd code (parametru așteptat incorect), ar trebui să vedeți ceva de genul acesta:

Și ești gata. Anunțați-mă dacă observați probleme la rularea acestui cod.

Tutorial JUnit de Crunchify

Adnotare disponibilă în cazul de testare JUnit:

Adnotare

Descriere

@Testați metoda public void() Adnotarea @Test identifică faptul că o metodă este o metodă de testare.
Metoda @Before public void() Va executa metoda înainte de fiecare test. Această metodă poate pregăti mediul de testare (de exemplu, citiți datele de intrare, inițializați clasa).
Metoda @After public void() Va executa metoda după fiecare test. Această metodă poate curăța mediul de testare (de exemplu, ștergerea datelor temporare, restaurarea setărilor implicite).
Metoda public void @BeforeClass () Va executa metoda o dată, înainte de începerea tuturor testelor. Acesta poate fi folosit pentru a efectua activități care necesită mult timp, de exemplu pentru a vă conecta la o bază de date.
Metoda public void @AfterClass () Va executa metoda o dată, după ce toate testele s-au terminat. Acesta poate fi folosit pentru a efectua activități de curățare, de exemplu pentru a vă deconecta de la o bază de date.
@Ignora Va ignora metoda de testare. Acest lucru este util atunci când codul de bază a fost modificat și cazul de testare nu a fost încă adaptat. Sau dacă timpul de execuție a acestui test este prea lung pentru a fi inclus.
@Test (așteptată = Exception.class) Eșuează, dacă metoda nu aruncă excepția numită.
@Test(timeout=100) Eșuează dacă metoda durează mai mult de 100 de milisecunde.

Metode de testare a afirmațiilor disponibile:

Afirmație

Descriere

fail(șir) Lasă metoda să eșueze. Poate fi folosit pentru a verifica dacă o anumită parte a codului nu este atinsă. Sau pentru a avea test eșuat înainte ca codul de testare să fie implementat.
assertTrue (adevărat) / assertTrue (fals) Va fi întotdeauna adevărat/fals. Poate fi folosit pentru a predefini un rezultat al testului, dacă testul nu este încă implementat.
assertTrue([mesaj], condiție booleană) Verifică dacă condiția booleană este adevărată.
assertsEquals([Mesaj șir], așteptat, actual) Testează că două valori sunt aceleași. Notă: pentru matrice referința este verificată și nu conținutul matricelor.
assertsEquals([String message], așteptat, real, toleranță) Testați că valorile float sau double se potrivesc. Toleranța este numărul de zecimale care trebuie să fie același.
assertNull([mesaj], obiect) Verifică dacă obiectul este nul.
assertNotNull([mesaj], obiect) Verifică dacă obiectul nu este nul.
assertSame([Șir], așteptat, actual) Verifică dacă ambele variabile se referă la același obiect.
assertNotSame([String], așteptat, actual) Verifică că ambele variabile se referă la obiecte diferite.