Mikä on parametritesti Junitissa?
Parametroitu testi on suorittaa sama testi uudestaan ja uudestaan käyttämällä eri arvoja. Se auttaa kehittäjää säästämään aikaa saman testin suorittamisessa, joka eroaa vain niiden panoksista ja odotetuista tuloksista.
Parametroidun testin avulla voidaan asettaa testimenetelmä, joka noutaa tietoja jostakin tietolähteestä.
Harkitse yksinkertaista testiä eri numeroiden yhteenlaskemiseksi. Koodi voi näyttää -
Yllä oleva lähestymistapa johtaa paljon irtisanomisiin.
Tarvitsemme yksinkertaisen lähestymistavan ja. Parametroidun testin avulla voit vain lisätä menetelmän 10 datatulon syöttämiseen, ja testi suoritetaan 10 kertaa automaattisesti.
Vaiheet parametrisoidun JUnit-testin luomiseksi
Seuraava koodi näyttää esimerkin parametrisoidusta testistä. Se testaa aritmeettisen luokan sum () -menetelmää:
Vaihe 1) Luo luokka. Tässä esimerkissä aiomme syöttää kaksi numeroa käyttämällä sum (int, int) -menetelmää, joka palauttaa annettujen numeroiden summan
Vaihe 2) Luo parametrisoitu testiluokka
Koodin selitys
- Koodirivi 11: Merkitse testiluokkaasi käyttämällä @runWith (Parameterized.class).
- Koodirivi 13: Muuttujan 'firstNumber' julistaminen yksityiseksi ja tyypin int.
- Koodirivi 14: Muuttujan 'secondNumber' ilmoittaminen yksityiseksi ja tyypiksi int.
- Koodirivi 15: Ilmoitetaan muuttuja 'expectedResult' yksityiseksi ja kirjoita int.
- Koodirivi 16: Muuttujan 'airthematic' julistaminen yksityiseksi ja tyypiksi Airthematic.
@RunWith (luokan_nimi.luokka): @RunWith- merkinnällä määritetään sen juoksijaluokan nimi. Jos emme määritä mitään tyyppiä parametriksi, ajonaikainen valinta oletusarvoisesti BlockJunit4ClassRunner .
Tämä luokka on vastuussa testien suorittamisesta uudella testiesimerkillä. Se on vastuussa JUnit-elinkaarimenetelmien, kuten asennuksen (liitännäisresurssit) ja purkamisen (vapautusresurssit), käyttämisestä.
Parametroimiseksi sinun on tehtävä merkinnät käyttämällä @RunWith ja välitettävä vaadittava .luokka testattavaksi
Vaihe 3) Luo konstruktori, joka tallentaa testitiedot. Se tallentaa 3 muuttujaa
Vaihe 4) Luo staattinen menetelmä, joka luo ja palauttaa testitiedot.
Koodirivi 32,33: Kaksiulotteisen taulukon luominen (syöttöparametrit lisäystä varten). AsList-menetelmällä tiedot muunnetaan luettelotyypiksi. Koska menetelmän syötteen palautustyyppi on kokoelma.
Koodirivi 30: käyttäminen @Parameters huomautusta luoda joukon lähtötietoja juosta meidän testi.
@Parameters-merkinnällä tunnistettu staattinen menetelmä palauttaa kokoelman, jossa kukin kokoelman merkintä on testin yhden iteraation syötetieto.
Harkitse elementtiä
{1,2,3}
Tässä
firstNumber = 1
secondNumber = 2
odotettu tulos = 3
Tällöin kukin matriisielementti välitetään konstruktorille yksi kerrallaan, kun luokka instantoidaan useita kertoja.
Vaihe 5) Koko koodi
Koodin selitys:
- Koodirivi 25: @Before-merkinnän käyttäminen resurssien määrittämiseen (Airthematic.class täällä). @Before-merkintää käytetään tässä suoritettavaksi ennen kutakin testitapausta. Se sisältää testin edellytyksen.
- Koodirivi 36: @Test-merkinnän käyttäminen testin luomiseen.
- Koodirivi 39: Vahvistuslausekkeen luominen tarkistamaan, onko summa vastaava kuin odotimme.
Vaihe 6) Luo testijuoksijaluokka parametroidun testin suorittamiseksi:
Koodin selitys:
- Koodirivi 8: Ilmoitetaan luokkatestin päämenetelmä, joka suorittaa JUnit-testimme.
- Koodirivi 9: Suoritettaessa testitapauksia käyttäen JunitCore.runclasses, se käyttää testiluokan nimeä parametrina (Esimerkissämme käytämme Airthematic.class).
- Koodirivi 11: Tuloksen käsitteleminen silmukkaa varten ja epäonnistuneen tuloksen tulostaminen.
- Koodirivi 13: Onnistuneen tuloksen tulostaminen.
Tuotos:
Tässä on tulos, joka osoittaa onnistuneen testin ilman vikajäljennöksiä, kuten alla on annettu:
Katso tulos konsolista, jossa näkyy kahden numeron lisäys: -
Yhteenveto :
Parametroidun testin avulla kehittäjä voi suorittaa saman testin uudestaan ja uudestaan käyttämällä eri arvoja.
Tärkeät merkinnät, joita käytetään parametroinnissa
- @RunWith
- @Parameters