JUnit nodrošina iespēju izsekot izņēmumam un pārbaudīt, vai kods rada paredzamo izņēmumu.
Junit4 nodrošina ērtu un lasāmu veidu izņēmumu testēšanai, kurus varat izmantot
- Izvēles parametrs (paredzamais) @test anotācijai un
- Informācijas izsekošanai var izmantot "fail ()"
Pārbaudot izņēmumu, jums jāpārliecinās, ka izņēmuma klase, kuru norādāt šajā anotācijas @test izvēles parametrā, ir vienāda. Tas ir tāpēc, ka jūs sagaidāt izņēmumu no metodes, kuru pārbaudāt vienību, pretējā gadījumā mūsu JUnit tests neizdosies.
@ Testa piemērs (paredzams = IllegalArgumentException.class)
Izmantojot parametru "paredzamais", jūs varat norādīt izņēmuma nosaukumu, kuru mūsu tests var iemest. Iepriekš minētajā piemērā jūs izmantojat " IllegalArgumentException", kuru pārbaude izmetīs, ja izstrādātājs izmantos argumentu, kas nav atļauts.
Piemērs, izmantojot @test (paredzams)
Sapratīsim izņēmumu testēšanu, izveidojot Java klasi ar metodi, ar kuru tiek izmests izņēmums. Jūs tiksiet ar to galā un pārbaudīsit testa klasē. Apsveriet, vai JUnitMessage.java ir metode, kas vienkārši veic matemātisku darbību, pamatojoties uz lietotāja saņemto ievadi. Ja tiks ievadīts kāds nelikumīgs arguments, tas metīs “ArithmeticException ” . Skatīt zemāk:
pakete guru99.junit;publiskā klase JUnitMessage {privāta virknes ziņa;public JUnitMessage (virknes ziņojums) {this.message = ziņojums;}public void printMessage () {System.out.println (ziņojums);int dalīt = 1/0;}public String printHiMessage () {message = "Sveiki!" + ziņojums;System.out.println (ziņojums);atgriešanās ziņojums;}}
Koda skaidrojums:
- Kodu rinda 7: Parametrēta konstruktora izveide ar lauka inicializāciju.
- Kodu rinda 11-14: Metodes izveide matemātiskai darbībai.
- 18. koda rindiņa: citas metodes izveide ziņojuma drukāšanai.
- 20. koda rindiņa: jaunas virknes izveide ziņojuma drukāšanai.
- Kodu rinda 21: 20. rindā izveidota jauna ziņojuma drukāšana.
Izveidosim testa klasi virs java klases, lai pārbaudītu izņēmumu.
Skatiet zemāk testa klases vienības testa izņēmumu (šeit ir ArithmeticException), metot no augšas java klasi:
AirthematicTest.java
pakete guru99.junit;importēt statisko org.junit.Assert.assertEquals;importēt org.junit.Test;publiskā klase AirthematicTest {publisks stīgas ziņojums = "Saurabh";JUnitMessage junitMessage = jauns JUnitMessage (ziņojums);@Test (paredzams = ArithmeticException.class)public void testJUnitMessage () {System.out.println ("Drukā Junit ziņojumu");junitMessage.printMessage ();}@Pārbaudepublic void testJUnitHiMessage () {message = "Sveiki!" + ziņojums;System.out.println ("Drukā Junit ziņojumu");assertEquals (ziņojums, junitMessage.printMessage ());}}
Koda skaidrojums:
- 13. koda rindiņa: @Test anotācijas izmantošana testa izveidošanai. Veicot iepriekš minēto klašu metodi, tā izsauks matemātisku darbību. Šeit ir sagaidāms aritmētiskais izņēmums, tāpēc jūs to uzskaitāt kā parametru vietnē @Test.
- 17. koda rindiņa: printMessage () izsaukšana JUnitMessage.java
- 18. koda rindiņa: citas metodes izveidošana HI ziņu drukāšanai.
Ja izpildāt šo testa klasi, testa metode tiek izpildīta ar katru definēto parametru. Iepriekš minētajā piemērā testa metode tiek izpildīta piecas reizes.
Izpildīsim to un pārbaudīsim rezultātu. Skatiet zem testa skrējēju klases, lai izpildītu JunitTestExample.java
Izeja:
Šeit ir izeja, kas parāda veiksmīgu testu bez kļūmes izsekošanas, kā norādīts zemāk:
Kopsavilkums:
- Izņēmuma pārbaude ir īpaša iezīme, kas ieviesta JUnit4. Šajā apmācībā jūs uzzinājāt, kā pārbaudīt izņēmumu JUnit, izmantojot @test (izņemot)
- Junit nodrošina iespēju izsekot izņēmumam un pārbaudīt, vai kods ir izņēmums
- Izņēmuma testēšanai varat izmantot
- Izvēles parametrs (paredzamais) @test anotācijai un
- Informācijas izsekošanai var izmantot "fail ()"