A szoftverfejlesztésben az egységtesztelés olyan folyamat, amely elkülöníti és teszteli az alkalmazás dedikált részeit. Ezeknek a dedikált szakaszoknak a hivatalos kifejezése az egységek. Java alkalmazásában az egység egy metódus.

Számos egységtesztelési keretrendszer áll rendelkezésre a Java fejlesztők számára. A legjobb keretek közé tartozik a JUnit 5.

Miért fontos az egységteszt?

Ha valaha írt hibakeresési utasításokat egy változó értékének kinyomtatására és ellenőrzésére, gratulálunk. egységtesztet hozott létre. Erre a kidobható kódrészletre azért volt szükség, mert nem kapta meg a kívánt kimenetet.

De mi van akkor, ha megkapta a kívánt kimenetet, és a kód valahol még mindig hibát tartalmaz? Előfordulhat, hogy telepíti az alkalmazást, és ez a hiba a későbbiekben biztonsági rést okozhat. A felhasználók adatait tároló alkalmazások esetében nagy a tét a biztonság megsértése esetén.

Az egységteszt az alkalmazás minden szakaszát megcélozza – függetlenül attól, hogy az éppen hibát okoz-e vagy sem. Ezért az egységtesztnek jelentős szerepe van jó szoftverbiztonság.

instagram viewer

Mi az a JUnit 5?

A JUnit 5 több, mint egy újabb egységtesztelési keretrendszer. Számos alprojektje van, nevezetesen a JUnit Platform, a JUnit Jupiter és a JUnit Vintage. Mindhárom összetevő egyedi modulokkal rendelkezik, amelyek együtt javítják a Java programozók tesztelését.

A JUnit 5 platform a legjobb Java Integrated Development Platformok (IDE) legújabb verzióiban érhető el. A JUnit 5-öt támogató Java IDE-k a következők:

  • IntelliJ ÖTLET
  • Fogyatkozás
  • NetBeans
  • Visual Studio kód

Egységtesztek létrehozása a JUnit 5 segítségével

Ez a példaprogram a JUnit 5 segítségével több egységtesztet hoz létre egy egyszerű számológépen.

A Számológép osztály

csomag alkalmazás;

nyilvánososztálySzámológép{
nyilvánosstatikusintadd hozzá(int szám1, int szám2){
Visszatérés szám1 + szám2;
}

nyilvánosstatikusintkivonni(int szám1, int szám2){
Visszatérés szám1 - szám2;
}

nyilvánosstatikusintszaporodnak(int szám1, int szám2){
Visszatérés szám1 * szám2;
}

nyilvánosstatikusintfeloszt(int szám1, int szám2){
Visszatérés szám1 / szám2;
}
}

Az Java osztály A fenti négy statikus műveletet hajt végre: összeadás, kivonás, szorzás és osztás. Mindegyik metódus két egész argumentumot vesz fel, és egyetlen egész értéket ad vissza.

A JUnit 5 tesztosztály

csomag teszt;

importstatikus org.junit. Állítsd.*;
import kb. Számológép;
importorg.junit.Teszt;

nyilvánososztályCalculatorTest{
@Teszt
nyilvánosürestesztHozzáadás(){
asserEquals(7, Számológép.add hozzá(3, 4));
}

@Teszt
nyilvánosürestesztKivonás(){
asserEquals(6, Számológép.kivonjuk(9, 3));
}

@Teszt
nyilvánosürestesztSzorzás(){
asserEquals(10, Számológép.szaporodni(5, 2));
}

@Teszt
nyilvánosürestestDivide(){
asserEquals(2, Számológép.feloszt(4, 2));
}
}

CalculatorTest két fontos fogalmat vezet be: a @Teszt annotáció és a assertEquals() módszer. A@Test annotáció azt jelzi, hogy a közvetlenül alatta lévő módszer egy tesztmódszer. A fenti tesztosztályban négy vizsgálati módszer található, egy-egy a számológép műveleteihez.

Minden vizsgálati módszer az assertEquals() módszert használja. Ez a módszer két kötelező argumentumot és egy opcionális harmadik argumentumot vesz igénybe. A fenti assertEquals()metódushoz adott első argumentum a várt eredmény, a második argumentum pedig az értékelni kívánt módszer (vagy mértékegység).

A CalculatorTest osztálynak nincs fő metódusa, de a JUnit @Test annotációk mindegyik tesztmódszert végrehajthatóvá teszik. A CalculatorTest osztály végrehajtása eclipse-ben a következő felületet eredményezi:

Amint látja, minden teszt sikeres. Négy teszt van, és mindegyik hiba és hiba nélkül futott le.

A tanulási egység tesztelése bővítheti karrierlehetőségeit

Fejlesztőként a szoftver tesztelésének ismerete előnyös készség. Ez minden bizonnyal javítja a munkafolyamatot, és remélhetőleg megkönnyíti a kód használatát mások számára. A szoftverfejlesztésnek van azonban egy olyan ága, amely kizárólag a tesztelésre összpontosít. Ezeket a mérnököket szoftvertesztelőknek nevezik.