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?
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.