JUnit Eeldatava erandi test: @Test(oodatav)
JUnit pakub võimalust erandi jälgimiseks ja ka kontrollimiseks, kas kood loob oodatud erandi või mitte.
Junit4 pakub lihtsat ja loetavat viisi erandite testimiseks, mida saate kasutada
- @test annotatsiooni valikuline parameeter (eeldatav) ja
- Teabe jälgimiseks võib kasutada "fail()".
Kui Testimine erand, peate tagama selle erandiklassi, mille selles valikulises parameetris pakute @test annotatsioon on sama. Seda seetõttu, et ootate oma meetodist erandit Üksuse testimine, muidu meie JUnit test ebaõnnestuks.
Näide@Test(expected=IllegalArgumentException.class)
Kasutades parameetrit „expected”, saate määrata erandi nime, mille meie test võib anda. Ülaltoodud näites kasutate "Ebaseadusliku argumendi erand” mille test viskab, kui arendaja kasutab argumenti, mis pole lubatud.
Näide @test(expected) kasutamisest
Mõistame erandite testimist, luues a Java klass erandit viskava meetodiga. Saate sellega hakkama ja testite seda testiklassis. Kaaluge JUnitMessage.java, millel on meetod, mis lihtsalt teeb kasutaja saadud sisendi põhjal matemaatilise toimingu. Kui sisestatakse mõni ebaseaduslik argument, annab see "Aritmeetilise erandi". Vaata allpool:
package guru99.junit; public class JUnitMessage{ private String message; public JUnitMessage(String message) { this.message = message; } public void printMessage(){ System.out.println(message); int divide=1/0; } public String printHiMessage(){ message="Hi!" + message; System.out.println(message); return message; } }
Koodi selgitus:
- Koodirida 7: Parameetritega konstruktori loomine koos välja initsialiseerimisega.
- Koodirida 11–14: Matemaatilise tehte meetodi loomine.
- Koodirida 18: Teise meetodi loomine sõnumi printimiseks.
- Koodirida 20: Uue stringi loomine sõnumi printimiseks.
- Koodirida 21: 20. real loodud uue sõnumi printimine.
Erandi kontrollimiseks loome ülaltoodud java klassi jaoks testklassi.
Vaadake allolevat testklassist ühikutesti erandit (ArithmeticException siin) ülaltpoolt Java-klassi viskamist:
AirthematicTest.java
package guru99.junit; import static org.junit.Assert.assertEquals; import org.junit.Test; public class AirthematicTest { public String message = "Saurabh"; JUnitMessage junitMessage = new JUnitMessage(message); @Test(expected = ArithmeticException.class) public void testJUnitMessage(){ System.out.println("Junit Message is printing "); junitMessage.printMessage(); } @Test public void testJUnitHiMessage(){ message="Hi!" + message; System.out.println("Junit Message is printing "); assertEquals(message, junitMessage.printMessage()); } }
Koodi selgitus:
- Koodirida 13: Testi loomiseks kasutame @Test annotatsiooni. Ülaltoodud klasside meetodi käivitamisel kutsub see esile matemaatilise toimingu. Siin on oodata aritmeetilist erandit, nii et loetlete selle @Testi parameetrina.
- Koodirida 17: printMessage() kutsumine JUnitSõnum.java
- Koodirida 18: Teise meetodi loomine HI-teate printimiseks.
Kui käivitate selle testiklassi, käivitatakse testmeetod iga määratletud parameetriga. Ülaltoodud näites teostatakse testmeetodit viis korda.
Teostame selle ja kontrollime tulemust. Vaadake altpoolt sooritatavat testijooksja klassi JunitTestExample.java
Väljund:
Siin on väljund, mis näitab edukat testi ilma tõrkejälgedeta, nagu on näidatud allpool:
kokkuvõte
- Erandi testimine on aastal tutvustatud erifunktsioon JUnit4. Selles õpetuses õppisite, kuidas testida erandit JUnit kasutades @test (välja arvatud)
- Junit pakub võimalust erandi jälgimiseks ja ka kontrollimiseks, kas kood loob erandi või mitte
- Erandi testimiseks võite kasutada
- @test annotatsiooni valikuline parameeter (eeldatav) ja
- Teabe jälgimiseks võib kasutada "fail()".