U razvoju softvera, jedinično testiranje je proces koji izolira i testira namjenske dijelove aplikacije. Jedinice su formalni izraz za ove namjenske odjeljke. U vašoj Java aplikaciji, jedinica je metoda.

Postoji mnogo okvira za jedinično testiranje dostupnih Java programerima. Među najboljim okvirima je JUnit 5.

Zašto je testiranje jedinice važno?

Ako ste ikada napisali izjave za ispravljanje pogrešaka za ispis i provjeru vrijednosti varijable, čestitamo; izradili ste jedinični test. Ovaj dio koda za bacanje bio je neophodan jer niste dobivali željeni rezultat.

Ali što ako ste primali željeni izlaz, a kod još uvijek negdje sadrži pogrešku? Možete implementirati aplikaciju i ova pogreška bi kasnije mogla rezultirati kršenjem sigurnosti. Za aplikacije koje pohranjuju podatke korisnika, ulozi su visoki kada dođe do povrede sigurnosti.

Jedinično testiranje cilja svaki odjeljak vaše aplikacije - bez obzira na to uzrokuje li trenutačno pogrešku ili ne. Stoga jedinično testiranje igra značajnu ulogu u dobra sigurnost softvera.

instagram viewer

Što je JUnit 5?

JUnit 5 je više od samo još jednog okvira za testiranje jedinice. Ima nekoliko pod-projekata, naime JUnit Platforma, JUnit Jupiter i JUnit Vintage. Svaka od ove tri komponente ima jedinstvene module koji zajedno rade na poboljšanju testiranja za Java programere.

Platforma JUnit 5 dostupna je u najnovijim verzijama vrhunskih Java integriranih razvojnih platformi (IDE). Java IDE-ovi koji podržavaju JUnit 5 su:

  • IntelliJ IDEJA
  • Zasjeniti
  • NetBeans
  • Visual Studio Code

Stvaranje jediničnih testova s ​​JUnit 5

Ovaj primjer programa koristi JUnit 5 za izradu nekoliko jediničnih testova na jednostavnoj aplikaciji kalkulatora.

Razred kalkulatora

paket aplikacija;

javnostrazredaKalkulator{
javnoststatičkiintdodati(int broj1, int broj2){
povratak num1 + num2;
}

javnoststatičkiintoduzeti(int broj1, int broj2){
povratak num1 - num2;
}

javnoststatičkiintpomnožiti(int broj1, int broj2){
povratak num1 * num2;
}

javnoststatičkiintpodijeliti(int broj1, int broj2){
povratak num1 / num2;
}
}

The Java klasa iznad izvodi četiri statičke operacije: zbrajanje, oduzimanje, množenje i dijeljenje. Svaka metoda uzima dva argumenta cijelog broja i vraća jednu vrijednost cijelog broja.

Testni razred JUnit 5

paket test;

uvozstatički org.junit. Tvrditi.*;
uvoz aplikacija Kalkulator;
uvozorg.junit.Test;

javnostrazredaKalkulatorTest{
@Test
javnostponištititestAdd(){
assertEquals(7, Kalkulator.dodati(3, 4));
}

@Test
javnostponištititestSubtract(){
assertEquals(6, Kalkulator.oduzeti(9, 3));
}

@Test
javnostponištititestMultiply(){
assertEquals(10, Kalkulator.pomnožiti(5, 2));
}

@Test
javnostponištititestDivide(){
assertEquals(2, Kalkulator.podijeliti(4, 2));
}
}

KalkulatorTest uvodi dva važna pojma: the @Test anotacija i assertEquals() metoda. Bilješka @Test označava da je metoda neposredno ispod nje testna metoda. U gornjoj klasi ispitivanja postoje četiri metode ispitivanja, po jedna za svaku operaciju kalkulatora.

Sve metode testiranja koriste metodu assertEquals(). Ova metoda uzima dva obvezna argumenta i opcijski treći argument. Prvi argument dan gornjoj metodi assertEquals() je očekivani rezultat, a drugi argument je metoda (ili jedinica) koju želite procijeniti.

Klasa CalculatorTest nema glavnu metodu, ali napomene JUnit @Test čine svaku testnu metodu izvršnom. Izvršenje klase CalculatorTest u eclipse proizvodi sljedeće sučelje:

Kao što vidite, svaki test je uspješan. Postoje četiri testa i svi su prošli bez grešaka ili kvarova.

Učenje jediničnog testiranja može proširiti vaše mogućnosti karijere

Kao programeru, znati kako testirati softver je korisna vještina. To će sigurno poboljšati vaš tijek rada i, nadamo se, učiniti vaš kod lakšim za korištenje drugima. Međutim, postoji grana razvoja softvera koja se fokusira isključivo na testiranje. Ti su inženjeri poznati kao testeri softvera.