Kuriant programinę įrangą, vienetų testavimas yra procesas, kuris išskiria ir išbando tam skirtas programos dalis. Vienetai yra oficialus šių specialių skyrių terminas. Jūsų Java programoje vienetas yra metodas.
„Java“ kūrėjams yra daug vienetų testavimo sistemų. Tarp geriausių karkasų yra JUnit 5.
Kodėl svarbu atlikti vienetų testavimą?
Jei kada nors rašėte derinimo teiginius, kad galėtumėte atspausdinti ir patikrinti kintamojo reikšmę, sveikiname; sukūrėte vieneto testą. Ši pašalinama kodo dalis buvo reikalinga, nes negavote norimos išvesties.
Bet ką daryti, jei gavote norimą išvestį, o kode vis tiek kažkur buvo klaida? Galite įdiegti programą, o ši klaida vėliau gali sukelti saugumo pažeidimą. Programoms, kuriose saugomi naudotojų duomenys, kyla didelis pavojus, kai įvyksta saugumo pažeidimas.
Vienetinis testavimas taikomas kiekvienai programos daliai, nesvarbu, ar ji šiuo metu sukelia klaidą, ar ne. Todėl vienetų testavimas atlieka svarbų vaidmenį geras programinės įrangos saugumas.
Kas yra JUnit 5?
JUnit 5 yra daugiau nei tik dar viena vienetų testavimo sistema. Jame yra keli subprojektai, būtent JUnit platforma, JUnit Jupiter ir JUnit Vintage. Kiekvienas iš šių trijų komponentų turi unikalius modulius, kurie veikia kartu, kad pagerintų „Java“ programuotojų testavimą.
JUnit 5 platforma yra prieinama naujausiose geriausių Java Integrated Development platformų (IDE) versijose. „Java IDE“, palaikančios „JUnit 5“, yra:
- IntelliJ IDĖJA
- Užtemimas
- NetBeans
- Visual Studio kodas
Vienetų testų kūrimas naudojant JUnit 5
Ši pavyzdinė programa naudoja JUnit 5, kad sukurtų kelis vienetų testus paprastoje skaičiuotuvo programoje.
Skaičiuoklės klasė
paketą programėlė;
viešasklasėSkaičiuoklė{
viešasstatinistarptpapildyti(tarpt numeris1, tarpt skaičius2){
grąžinti skaičius1 + skaičius2;
}viešasstatinistarptatimti(tarpt numeris1, tarpt skaičius2){
grąžinti skaičius1 - skaičius2;
}viešasstatinistarptpadauginti(tarpt numeris1, tarpt skaičius2){
grąžinti skaičius1 * skaičius2;
}
viešasstatinistarptpadalinti(tarpt numeris1, tarpt skaičius2){
grąžinti skaičius1 / skaičius2;
}
}
The Java klasė aukščiau, atlieka keturias statines operacijas: sudėtį, atimtį, daugybą ir padalijimą. Kiekvienas metodas paima du sveikojo skaičiaus argumentus ir grąžina vieną sveikojo skaičiaus reikšmę.
JUnit 5 testo klasė
paketą bandymas;
importuotistatinis org.junit. Tvirtinti.*;
importuoti programėlė. Skaičiuoklė;
importuotiorg.junitas.Išbandyk;viešasklasėCalculatorTest{
@Test
viešastuštumatestAdd(){
AsertEquals(7, Skaičiuoklė.papildyti(3, 4));
}@Test
viešastuštumatestAtimti(){
AsertEquals(6, Skaičiuoklė.atimti(9, 3));
}@Test
viešastuštumatestDauginti(){
AsertEquals(10, Skaičiuoklė.padauginti(5, 2));
}
@Test
viešastuštumatestDivide(){
AsertEquals(2, Skaičiuoklė.padalinti(4, 2));
}
}
CalculatorTest pristato dvi svarbias sąvokas: @Test anotacija ir assertEquals() metodas. „@Test“ anotacija rodo, kad metodas, esantis po juo, yra bandymo metodas. Aukščiau pateiktoje bandymų klasėje yra keturi bandymo metodai, po vieną kiekvienai skaičiuotuvo operacijai.
Visi bandymo metodai naudoja assertEquals() metodą. Šis metodas apima du privalomus argumentus ir neprivalomą trečiąjį argumentą. Pirmasis argumentas, pateiktas aukščiau pateiktam assertEquals() metodui, yra laukiamas rezultatas, o antrasis argumentas yra metodas (arba vienetas), kurį norite įvertinti.
CalculatorTest klasėje nėra pagrindinio metodo, tačiau JUnit @Test anotacijos leidžia vykdyti kiekvieną bandymo metodą. Vykdant CalculatorTest klasę užtemimo metu sukuriama tokia sąsaja:
Kaip matote, kiekvienas testas yra sėkmingas. Yra keturi bandymai ir visi jie buvo atlikti be klaidų ar gedimų.
Mokymosi vienetų testavimas gali išplėsti jūsų karjeros galimybes
Kaip kūrėjas, žinoti, kaip išbandyti programinę įrangą, yra naudingas įgūdis. Tai tikrai pagerins jūsų darbo eigą ir, tikiuosi, palengvins jūsų kodo naudojimą kitiems. Tačiau yra programinės įrangos kūrimo šaka, kurioje pagrindinis dėmesys skiriamas tik testavimui. Šie inžinieriai yra žinomi kaip programinės įrangos testuotojai.