Při vývoji softwaru je testování jednotek proces, který izoluje a testuje vyhrazené části aplikace. Jednotky jsou formálním termínem pro tyto vyhrazené sekce. Ve vaší aplikaci Java je jednotka metodou.

Pro vývojáře Java je k dispozici mnoho rámců pro testování jednotek. Mezi nejlepší frameworky patří JUnit 5.

Proč je testování jednotek důležité?

Pokud jste někdy psali ladicí příkazy pro tisk a kontrolu hodnoty proměnné, gratulujeme; vytvořili jste test jednotky. Tato část kódu byla nezbytná, protože jste nedostávali požadovaný výstup.

Ale co když jste dostávali požadovaný výstup a kód stále někde obsahoval chybu? Můžete nasadit aplikaci a tato chyba by mohla později vést k narušení zabezpečení. U aplikací, které ukládají data uživatelů, jsou v sázce vysoké, když dojde k narušení bezpečnosti.

Testování jednotek se zaměřuje na každou sekci vaší aplikace – ať už aktuálně způsobuje chybu, nebo ne. Proto testování jednotek hraje významnou roli dobré softwarové zabezpečení.

Co je JUnit 5?

JUnit 5 je více než jen další rámec pro testování jednotek. Má několik dílčích projektů, jmenovitě JUnit Platform, JUnit Jupiter a JUnit Vintage. Každá z těchto tří komponent má jedinečné moduly, které spolupracují na zlepšení testování pro programátory Java.

instagram viewer

Platforma JUnit 5 je dostupná v nejnovějších verzích špičkových vývojových platforem Java Integrated (IDE). Java IDE, která podporují JUnit 5, jsou:

  • IntelliJ IDEA
  • Zatmění
  • NetBeans
  • Kód Visual Studio

Vytváření testů jednotek pomocí JUnit 5

Tento ukázkový program používá JUnit 5 k vytvoření několika jednotkových testů v jednoduché aplikaci kalkulačky.

Třída kalkulačky

balík aplikace;

veřejnosttřídaKalkulačka{
veřejnoststatickýintpřidat(int číslo1, int číslo2){
vrátit se číslo 1 + číslo 2;
}

veřejnoststatickýintodčítat(int číslo1, int číslo2){
vrátit se číslo1 - číslo2;
}

veřejnoststatickýintnásobit(int číslo1, int číslo2){
vrátit se číslo1 * číslo2;
}

veřejnoststatickýintrozdělit(int číslo1, int číslo2){
vrátit se číslo1 / číslo2;
}
}

The třída Java výše provádí čtyři statické operace: sčítání, odčítání, násobení a dělení. Každá metoda přebírá dva celočíselné argumenty a vrací jednu celočíselnou hodnotu.

Testovací třída JUnit 5

balík test;

importstatický org.junit. Tvrdit.*;
import aplikace. Kalkulačka;
importorg.junit.Test;

veřejnosttřídaTest kalkulačky{
@Test
veřejnostprázdnotatestAdd(){
tvrdit Rovná se(7, Kalkulačka.přidat(3, 4));
}

@Test
veřejnostprázdnotatestOdečíst(){
tvrdit Rovná se(6, Kalkulačka.odčítat(9, 3));
}

@Test
veřejnostprázdnotatestMultiply(){
tvrdit Rovná se(10, Kalkulačka.násobit(5, 2));
}

@Test
veřejnostprázdnotatestDivide(){
tvrdit Rovná se(2, Kalkulačka.rozdělit(4, 2));
}
}

Test kalkulačky zavádí dva důležité pojmy: @Test anotace a claimEquals() metoda. Anotace @Test označuje, že metoda přímo pod ní je testovací metodou. Ve výše uvedené testovací třídě jsou čtyři testovací metody, jedna pro každou z operací kalkulačky.

Všechny testovací metody používají metodu sustainEquals(). Tato metoda vyžaduje dva povinné argumenty a volitelný třetí argument. První argument uvedený výše uvedené metodě claimEquals() je očekávaný výsledek a druhý argument je metoda (nebo jednotka), kterou chcete posoudit.

Třída CalculatorTest nemá hlavní metodu, ale anotace JUnit @Test činí každou z testovacích metod spustitelnou. Spuštění třídy CalculatorTest v Eclipse vytvoří následující rozhraní:

Jak vidíte, každý test je úspěšný. Existují čtyři testy a všechny proběhly bez chyb nebo selhání.

Testování učebních jednotek může rozšířit vaše kariérní příležitosti

Pro vývojáře je znalost testování softwaru výhodnou dovedností. Určitě to zlepší váš pracovní postup a doufejme, že usnadní používání vašeho kódu pro ostatní. Existuje však odvětví vývoje softwaru, které se zaměřuje výhradně na testování. Tito inženýři jsou známí jako testeři softwaru.