În dezvoltarea de software, testarea unitară este un proces care izolează și testează secțiuni dedicate ale unei aplicații. Unitățile sunt termenul formal pentru aceste secțiuni dedicate. În aplicația dvs. Java, o unitate este o metodă.

Există multe cadre de testare unitară disponibile pentru dezvoltatorii Java. Printre cadrele de top se numără JUnit 5.

De ce este importantă testarea unitară?

Dacă ați scris vreodată instrucțiuni de depanare pentru a tipări și a verifica valoarea unei variabile, felicitări; ați creat un test unitar. Această secțiune de cod folosită a fost necesară deoarece nu ați primit rezultatul dorit.

Dar ce se întâmplă dacă primeai rezultatul dorit și codul conținea încă o eroare undeva? Este posibil să implementați aplicația și această eroare ar putea duce la o încălcare a securității mai târziu. Pentru aplicațiile care stochează datele utilizatorilor, miza este mare atunci când există o breșă de securitate.

Testarea unitară vizează fiecare secțiune a aplicației dvs., indiferent dacă în prezent cauzează o eroare sau nu. Prin urmare, testarea unitară joacă un rol important în

instagram viewer
securitate software bună.

Ce este JUnit 5?

JUnit 5 este mai mult decât un alt cadru de testare unitară. Are mai multe subproiecte, și anume Platforma JUnit, JUnit Jupiter și JUnit Vintage. Fiecare dintre aceste trei componente are module unice care lucrează împreună pentru a îmbunătăți testarea pentru programatorii Java.

Platforma JUnit 5 este disponibilă în cele mai recente versiuni ale principalelor platforme de dezvoltare Java Integrated (IDE). IDE-urile Java care acceptă JUnit 5 sunt:

  • IntelliJ IDEA
  • Eclipsă
  • NetBeans
  • Codul Visual Studio

Crearea testelor unitare cu JUnit 5

Acest exemplu de program folosește JUnit 5 pentru a crea mai multe teste unitare pe o aplicație simplă de calculator.

Clasa Calculatoarelor

pachet aplicație;

publicclasăCalculator{
publicstaticintadăuga(int num1, int num2){
întoarcere num1 + num2;
}

publicstaticintscădea(int num1, int num2){
întoarcere num1 - num2;
}

publicstaticintmultiplica(int num1, int num2){
întoarcere num1 * num2;
}

publicstaticintdivide(int num1, int num2){
întoarcere num1 / num2;
}
}

The Clasa Java de mai sus efectuează patru operații statice: adunarea, scăderea, înmulțirea și împărțirea. Fiecare metodă ia două argumente întregi și returnează o singură valoare întreagă.

Clasa de testare JUnit 5

pachet Test;

importstatic org.junit. Afirma.*;
import aplicația. Calculator;
importorg.junit.Test;

publicclasăCalculatorTest{
@Test
publicgoltestAdd(){
assertEquals(7, Calculator.adăuga(3, 4));
}

@Test
publicgoltestSubtract(){
assertEquals(6, Calculator.scădea(9, 3));
}

@Test
publicgoltestMultiply(){
assertEquals(10, Calculator.multiplica(5, 2));
}

@Test
publicgoltestDivide(){
assertEquals(2, Calculator.divide(4, 2));
}
}

CalculatorTest introduce două concepte importante: cel @Test adnotarea și assertEquals() metodă. Adnotarea @Test indică faptul că metoda de sub aceasta este o metodă de testare. În clasa de testare de mai sus există patru metode de testare, câte una pentru fiecare dintre operațiile calculatorului.

Toate metodele de testare folosesc metoda assertEquals(). Această metodă ia două argumente obligatorii și un al treilea argument opțional. Primul argument dat metodei assertEquals() de mai sus este rezultatul așteptat, iar al doilea argument este metoda (sau unitatea) pe care doriți să o evaluați.

Clasa CalculatorTest nu are o metodă principală, dar adnotările JUnit @Test fac fiecare dintre metodele de testare executabilă. Executarea clasei CalculatorTest în eclipse produce următoarea interfață:

După cum puteți vedea, fiecare test are succes. Există patru teste și toate au rulat fără erori sau eșecuri.

Testarea unității de învățare vă poate extinde oportunitățile de carieră

În calitate de dezvoltator, să știi cum să testezi software-ul este o abilitate avantajoasă. Cu siguranță, vă va îmbunătăți fluxul de lucru și, sperăm, va face codul mai ușor de utilizat pentru alții. Cu toate acestea, există o ramură a dezvoltării de software care se concentrează exclusiv pe testare. Acești ingineri sunt cunoscuți ca testeri de software.