„JUnit“ numatomas išimties testas: @Test (tikimasi)

Turinys:

Anonim

„JUnit“ suteikia galimybę atsekti išimtį ir patikrinti, ar kodas sukelia laukiamą išimtį, ar ne.

„Junit4“ suteikia paprastą ir lengvai skaitomą išimčių testavimo būdą, kurį galite naudoti

  • Pasirenkamas (laukiamas) @ testo komentaro parametras ir
  • Informacijai atsekti galima naudoti „fail ()“

Tikrindami išimtį, turite įsitikinti, kad išimties klasė, kurią nurodote pasirinktame @test komentaro parametre, yra tokia pati. Taip yra todėl, kad jūs tikitės išimties iš metodo, kurį bandote „Unit Testing“, kitaip mūsų „JUnit“ testas nepavyks.

@ Test pavyzdys (tikėtinas = IllegalArgumentException.class)

Naudodami parametrą „numatomas“ galite nurodyti išimties pavadinimą, kurį gali išmesti mūsų bandymas. Ankstesniame pavyzdyje jūs naudojate „ IllegalArgumentException“, kurį bandymas išmes, jei kūrėjas naudoja neleistiną argumentą.

Pavyzdys naudojant @test (tikimasi)

Supraskime išimčių testavimą sukurdami „Java“ klasę su metodu, išmetančiu išimtį. Su juo susitvarkysite ir išbandysite testų klasėje. Apsvarstykite, ar JUnitMessage.java turi metodą, kuris tiesiog atlieka matematinę operaciją, pagrįstą vartotojo gauta įvestimi. Jei bus įvestas koks nors neteisėtas argumentas, tai bus „ArithmeticException . Žiūrėkite žemiau:

paketas guru99.junit;public class JUnitMessage {privati ​​eilutė;public JUnitMessage (eilutės pranešimas) {this.message = pranešimas;}public void printMessage () {System.out.println (pranešimas);int padalyti = 1/0;}vieša eilutė printHiMessage () {message = "Sveiki!" + žinutė;System.out.println (pranešimas);grąžinimo pranešimas;}}

Kodo paaiškinimas:

  • 7 kodo eilutė: Parametruoto konstruktoriaus sukūrimas su lauko inicijavimu.
  • Kodo eilutė 11-14: Matematinio veikimo metodo sukūrimas.
  • 18 kodo eilutė: kito pranešimo spausdinimo metodo kūrimas.
  • 20 kodo eilutė: naujos eilutės kūrimas pranešimui spausdinti.
  • 21 kodo eilutė: spausdinamas naujas pranešimas, sukurtas 20 eilutėje.

Sukurkite bandymo klasę aukščiau esančiai „Java“ klasei, kad patikrintume išimtį.

Žiūrėkite žemiau esančią bandymo klasę iki vieneto bandymo išimtį (čia pateikiama „ArithmeticException“), metant iš viršaus „java“ klasę:

AirthematicTest.java

paketas guru99.junit;importuoti statinį org.junit.Assert.assertEquals;importuoti org.junit.Test;viešoji klasė „AirthematicTest“ {viešoji eilutės žinutė = "Saurabh";JUnitMessage junitMessage = naujas JUnitMessage (pranešimas);@Test (tikėtinas = ArithmeticException.class)public void testJUnitMessage () {System.out.println („„ Junit “pranešimas spausdinamas“);junitMessage.printMessage ();}@Testpublic void testJUnitHiMessage () {message = "Sveiki!" + žinutė;System.out.println („„ Junit “pranešimas spausdinamas“);assertEquals (pranešimas, junitMessage.printMessage ());}}

Kodo paaiškinimas:

  • Kodo eilutė 13: Naudojant „@Test“ anotaciją bandymui sukurti. Vykdant aukščiau nurodytą klasių metodą, jis iškvies matematinę operaciją. Čia tikimasi aritmetinės išimties, todėl ją nurodote kaip parametrą @Test.
  • 17 kodo eilutė: „ printMessage“ () iškvietimas JUnitMessage.java
  • 18 kodo eilutė: kito metodo kūrimas spausdinant HI pranešimą.

Jei vykdote šią bandymo klasę, bandymo metodas vykdomas su kiekvienu apibrėžtu parametru. Ankstesniame pavyzdyje bandymo metodas vykdomas penkis kartus.

Vykdykime jį ir patikrinkime rezultatą. Žiūrėkite žemiau bandomųjų bėgikų klasės, kad įvykdytumėte JunitTestExample.java

Išvestis:

Čia yra išvestis, kuri rodo sėkmingą bandymą be gedimo pėdsakų, kaip nurodyta toliau:

Santrauka:

  • Išimties testavimas yra speciali funkcija, pristatyta „JUnit4“. Šioje pamokoje sužinojote, kaip išbandyti išimtį „JUnit“ naudojant @test (išskyrus)
  • „Junit“ suteikia galimybę atsekti išimtį ir patikrinti, ar kodas išmeta išimtį
  • Išimties testavimui galite naudoti
    • Pasirenkamas (laukiamas) @ testo komentaro parametras ir
    • Informacijai atsekti galima naudoti „fail ()“