Pri vývoji softvéru je testovanie jednotiek proces, ktorý izoluje a testuje vyhradené časti aplikácie. Jednotky sú formálnym pojmom pre tieto špecializované sekcie. Vo vašej aplikácii Java je jednotka metódou.

Pre vývojárov Java je k dispozícii veľa rámcov na testovanie jednotiek. Medzi top frameworky patrí JUnit 5.

Prečo je testovanie jednotiek dôležité?

Ak ste niekedy písali ladiace príkazy na tlač a kontrolu hodnoty premennej, gratulujeme; vytvorili ste test jednotky. Táto časť kódu bola potrebná, pretože ste nedostávali požadovaný výstup.

Čo ak však dostávate požadovaný výstup a kód stále obsahuje niekde chybu? Môžete nasadiť aplikáciu a táto chyba by mohla neskôr viesť k narušeniu bezpečnosti. Pri aplikáciách, ktoré uchovávajú údaje používateľov, sú v stávke vysoké, keď dôjde k narušeniu bezpečnosti.

Testovanie jednotiek sa zameriava na každú časť vašej aplikácie – či už momentálne spôsobuje chybu alebo nie. Preto hrá jednotkové testovanie významnú úlohu dobrá softvérová bezpečnosť.

Čo je JUnit 5?

instagram viewer

JUnit 5 je viac než len ďalší rámec testovania jednotiek. Má niekoľko podprojektov, konkrétne JUnit Platform, JUnit Jupiter a JUnit Vintage. Každý z týchto troch komponentov má jedinečné moduly, ktoré spolupracujú na zlepšení testovania pre programátorov Java.

Platforma JUnit 5 je dostupná v najnovších verziách špičkových integrovaných vývojových platforiem Java (IDE). Java IDE, ktoré podporujú JUnit 5, sú:

  • IntelliJ IDEA
  • Eclipse
  • NetBeans
  • Kód Visual Studio

Vytváranie testov jednotiek s JUnit 5

Tento vzorový program používa JUnit 5 na vytvorenie niekoľkých jednotkových testov v jednoduchej aplikácii kalkulačky.

Trieda kalkulačky

balík aplikácia;

verejnostitriedaKalkulačka{
verejnostistatickéintpridať(int číslo1, int číslo2){
vrátiť číslo1 + číslo2;
}

verejnostistatickéintodčítať(int číslo1, int číslo2){
vrátiť číslo1 - číslo2;
}

verejnostistatickéintmnožiť(int číslo1, int číslo2){
vrátiť číslo1 * číslo2;
}

verejnostistatickéintrozdeliť(int číslo1, int číslo2){
vrátiť num1 / num2;
}
}

The triedy Java vyššie vykonáva štyri statické operácie: sčítanie, odčítanie, násobenie a delenie. Každá metóda má dva celočíselné argumenty a vracia jednu celočíselnou hodnotu.

Testovacia trieda JUnit 5

balík test;

importovaťstatické org.junit. Tvrdiť.*;
importovať aplikácie. Kalkulačka;
importovaťorg.junit.Test;

verejnostitriedaTest kalkulačky{
@Test
verejnostineplatnétestAdd(){
tvrdiť Rovná sa(7, Kalkulačka.pridať(3, 4));
}

@Test
verejnostineplatnétestOdčítanie(){
tvrdiť Rovná sa(6, Kalkulačka.odčítať(9, 3));
}

@Test
verejnostineplatnétestMultiply(){
tvrdiť Rovná sa(10, Kalkulačka.násobiť(5, 2));
}

@Test
verejnostineplatnétestDivide(){
tvrdiť Rovná sa(2, Kalkulačka.rozdeliť(4, 2));
}
}

Test kalkulačky zavádza dva dôležité pojmy: @Test anotácia a claimEquals() metóda. Anotácia @Test označuje, že metóda priamo pod ňou je testovacia metóda. V testovacej triede vyššie sú štyri testovacie metódy, jedna pre každú z operácií kalkulačky.

Všetky testovacie metódy používajú metódu sustainEquals(). Táto metóda má dva povinné argumenty a voliteľný tretí argument. Prvý argument daný vyššie uvedenej metóde claimEquals() je očakávaný výsledok a druhý argument je metóda (alebo jednotka), ktorú chcete posúdiť.

Trieda CalculatorTest nemá hlavnú metódu, ale anotácie JUnit @Test robia každú z testovacích metód spustiteľnou. Spustenie triedy CalculatorTest v Eclipse vytvorí nasledujúce rozhranie:

Ako vidíte, každý test je úspešný. Existujú štyri testy a všetky prebehli bez chýb alebo zlyhaní.

Testovanie vzdelávacích jednotiek môže rozšíriť vaše kariérne príležitosti

Vedieť, ako testovať softvér, je pre vývojára výhodou. Určite to zlepší váš pracovný postup a dúfajme, že uľahčí používanie vášho kódu pre ostatných. Existuje však odvetvie vývoja softvéru, ktoré sa zameriava výlučne na testovanie. Títo inžinieri sú známi ako softvéroví testeri.