Ohjelmistokehityksessä yksikkötestaus on prosessi, joka eristää ja testaa sovelluksen omistettuja osia. Yksiköt ovat näiden osien virallinen termi. Java-sovelluksessasi yksikkö on menetelmä.
Java-kehittäjille on saatavilla monia yksikkötestauskehyksiä. Parhaiden kehysten joukossa on JUnit 5.
Miksi yksikkötestaus on tärkeää?
Jos olet joskus kirjoittanut virheenkorjauskäskyjä tulostaaksesi ja tarkistaaksesi muuttujan arvon, onnittelut. olet luonut yksikkötestin. Tämä poistettava koodiosa oli tarpeen, koska et saanut haluttua tulosta.
Mutta entä jos sait halutun lähdön ja koodi sisälsi edelleen virheen jossain? Saatat ottaa sovelluksen käyttöön, ja tämä bugi voi johtaa myöhemmin tietoturvaloukkaukseen. Käyttäjien tietoja tallentaville sovelluksille panokset ovat korkeat, kun tietoturvaloukkaus tapahtuu.
Yksikkötestaus kohdistuu kaikkiin sovelluksesi osiin – olipa se sitten virheen aiheuttaja tai ei. Siksi yksikkötestauksella on tärkeä rooli hyvä ohjelmistosuojaus.
Mikä on JUnit 5?
JUnit 5 on enemmän kuin vain yksi yksikkötestauskehys. Sillä on useita osaprojekteja, nimittäin JUnit Platform, JUnit Jupiter ja JUnit Vintage. Jokaisessa näistä kolmesta komponentista on ainutlaatuiset moduulit, jotka yhdessä parantavat Java-ohjelmoijien testausta.
JUnit 5 -alusta on saatavilla uusimmissa Java Integrated Development Platform (IDE) -kehitysalustojen uusimmissa versioissa. JUnit 5:tä tukevat Java IDE: t ovat:
- IntelliJ IDEA
- Pimennys
- NetBeans
- Visual Studio Code
Yksikkötestien luominen JUnit 5:n avulla
Tämä esimerkkiohjelma käyttää JUnit 5:tä useiden yksikkötestien luomiseen yksinkertaisella laskinsovelluksella.
Laskin-luokka
paketti sovellus;
julkinenluokkaaLaskin{
julkinenstaattinenintlisätä(int numero1, int numero2){
palata numero1 + numero2;
}julkinenstaattinenintvähentää(int numero1, int numero2){
palata numero1 - numero2;
}julkinenstaattinenintmoninkertaistaa(int numero1, int numero2){
palata num1 * num2;
}
julkinenstaattinenintjakaa(int numero1, int numero2){
palata numero1 / numero2;
}
}
The Java luokka yllä oleva suorittaa neljä staattista operaatiota: yhteen-, vähennys-, kerto- ja jakolasku. Jokainen menetelmä ottaa kaksi kokonaislukuargumenttia ja palauttaa yhden kokonaisluvun arvon.
JUnit 5 -testiluokka
paketti testata;
tuontistaattinen org.junit. Väitä.*;
tuonti sovellus. Laskin;
tuontiorg.junit.Testata;julkinenluokkaaLaskintesti{
@Testata
julkinenmitätöntestAdd(){
väittääEquals(7, Laskin.lisätä(3, 4));
}@Testata
julkinenmitätöntestiVähennys(){
väittääEquals(6, Laskin.vähentää(9, 3));
}@Testata
julkinenmitätöntestMultiply(){
väittääEquals(10, Laskin.kerrota(5, 2));
}
@Testata
julkinenmitätöntestDivide(){
väittääEquals(2, Laskin.jakaa(4, 2));
}
}
Laskintesti esittelee kaksi tärkeää käsitettä: @Testata huomautus ja assertEquals() menetelmä. @Test-merkintä osoittaa, että suoraan sen alla oleva menetelmä on testimenetelmä. Yllä olevassa testiluokassa on neljä testimenetelmää, yksi jokaiselle laskimen toiminnolle.
Kaikki testimenetelmät käyttävät assertEquals()-menetelmää. Tämä menetelmä vaatii kaksi pakollista argumenttia ja valinnaisen kolmannen argumentin. Ensimmäinen argumentti, joka annetaan yllä assertEquals()-menetelmälle, on odotettu tulos, ja toinen argumentti on menetelmä (tai yksikkö), jonka haluat arvioida.
CalculatorTest-luokassa ei ole päämenetelmää, mutta JUnit @Test -merkinnät tekevät jokaisesta testimenetelmästä suoritettavan. CalculatorTest-luokan suorittaminen eclipsessa tuottaa seuraavan käyttöliittymän:
Kuten näet, jokainen testi on onnistunut. Testejä on neljä, ja ne kaikki sujuivat ilman virheitä tai epäonnistumisia.
Oppimisyksiköiden testaus voi laajentaa uramahdollisuuksiasi
Kehittäjänä ohjelmistojen testaamisen tunteminen on edullinen taito. Se varmasti parantaa työnkulkuasi ja toivottavasti helpottaa koodisi käyttöä muille. On kuitenkin olemassa ohjelmistokehityksen ala, joka keskittyy yksinomaan testaukseen. Nämä insinöörit tunnetaan ohjelmistotestaajina.