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