Junit Assert & AssertEquals näitega
⚡ Nutikas kokkuvõte
JUnit Assert ja AssertEquals määravad testi sooritamise või ebaõnnestumise staatuse, võrreldes oodatavaid ja tegelikke väärtusi. See ressurss selgitab org.junit.Asserti pakutavaid assert-meetodeid, sealhulgas tõeväärtus-, null-, identsus-, võrdsus- ja massiiviväiteid, koos täieliku töötava näitega.

Mis on Junit Assert?
Assert on meetod, mis on kasulik testi sooritamise või mittesooritamise staatuse määramiseks. Assert-meetodid pakub klass org.junit.Assert, mis laiendab klassi java.lang.Object.
Väiteid on erinevat tüüpi, näiteks Boole'i, Null, Identne jne.
JUnit pakub klassi nimega Assert, mis pakub hulgaliselt kinnitusmeetodeid, mis on kasulikud testide kirjutamisel ja testivigade tuvastamisel.
Väitemeetodid pakub klass org.junit.Assert, mis pikendab java.lang.Object klass.
JUnit Kinnitusmeetodid
Boolean
Boole'i tingimuste (tõene või väär) testimiseks võite kasutada järgmisi assert-meetodeid:
- kinnitadaTrue (tingimus)
- kinnitama vale (tingimus)
Siin on tingimuseks tõeväärtus.
Nullobjekt
Kui soovite kontrollida objekti/muutuja algväärtust, on teil järgmised meetodid.
- assertNull(objekt)
- assertNotNull(objekt)
Siin on objekt a Java objekt, nt kinnitama Null(tegelik);
Identne
Kui soovite kontrollida, kas objektid on identsed (st võrrelda kahte viidet samale objektile Java objekt) või erinev:
- assertSame(oodatav, tegelik) — Tagastab tõese väärtuse, kui oodatud == tegelik.
- assertNotSame (oodatud, tegelik)
Väidab võrdub
Kahe objekti võrdsuse kontrollimiseks on olemas järgmine meetod:
- assertEquals (oodatav, tegelik)
See on tõsi, kui oodatav.võrdub(tegelik) tagastab tõele.
Kinnitage massiiv võrdub
Massiivide võrdsuse testimiseks on teil järgmine meetod:
- assertArrayEquals (oodatav, tegelik)
Ülaltoodud meetodit tuleb kasutada, kui massiividel on sama pikkus. Iga kehtiva väärtuse korral i, saate seda kontrollida järgmiselt:
- assertEquals(eeldatav[i], tegelik[i])
- assertArrayEquals(eeldatav[i], tegelik[i])
Ebaõnnestunud sõnum
Kui soovite väites viga teha, on teil see ebaõnnestub (), mis alati annab tulemuseks negatiivse hinnangu.
- ebaõnnestumine(teade);
Sul võib olla kinnitusmeetod koos lisaga nöör parameeter esimese parameetrina. See string lisatakse veateatele, kui väide ebaõnnestub. Näiteks ebaõnnestumine(teade) võib kirjutada järgmiselt:
- assertEquals(sõnum, oodatav, tegelik)
JUnit kinnitama Võrdsed
Sul on assertEquals(a, b), mis tugineb võrdub () Objekti klassi meetod.
- Siin hinnatakse seda kui a.võrdub(b)-ga.
- Siin kasutatakse testitavat klassi sobiva võrdsussuhte määramiseks.
- Kui klass ei alista võrdub () meetod objekt klassi, saab see vaikimisi käitumise võrdub () meetod, st objekti identiteet.
If a ja b on primitiivid nagu bait, int, loogilinejne, siis tehakse assertEquals(a, b) jaoks järgmist:
a ja b teisendatakse nendega samaväärseks ümbrisobjektitüübiks (Bait, täisarv, tõeväärtusjne) ja siis a.võrdub(b)-ga hinnatakse.
Näiteks vaatleme allpool mainitud stringe, millel on samad väärtused; kontrollime seda funktsiooni assertEquals abil:
String obj1 = "Junit"; String obj2 = "Junit"; assertEquals(obj1, obj2);
Ülaltoodud assert-lause tagastab väärtuse tõene, kuna obj1.equals(obj2) tagastab väärtuse tõene.
Ujukoma väited
Kui soovite võrrelda ujukomaarvude tüüpe (nt kahekordistada or ujuk), vajate täiendavat kohustuslikku parameetrit, delta, et vältida ümardusvigu ujukomaarvude võrdlemisel.
Väidet hinnatakse järgmiselt:
- Math.abs(eeldatav – tegelik) <= delta
Näiteks:
assertEquals(aDoubleVäärtus, teineDoubleVäärtus, 0.001)
JUnit Kinnitage näide
Allolev näide demonstreerib, kuidas tingimust esitada, kasutades JUnit kinnitavad meetodid.
Loome lihtsa testiklassi nimega Junit4AssertionTest.java ja proovijooksja klass TestRunner.java.
Sa lood mõned muutujad ja olulised assert-laused JUnit.
Selles näites käivitate meie testiklassi TestRunner.java abil.
Step 1) Loome klassi, mis hõlmab kõiki olulisi assert-lause meetodeid. JUnit:
Junit4AssertionTest.java
package guru99.junit; import static org.junit.Assert.*; import org.junit.Test; public class Junit4AssertionTest { @Test public void testAssert() { // Variable declaration String string1 = "Junit"; String string2 = "Junit"; String string3 = "test"; String string4 = "test"; String string5 = null; int variable1 = 1; int variable2 = 2; int[] airethematicArrary1 = { 1, 2, 3 }; int[] airethematicArrary2 = { 1, 2, 3 }; // Assert statements assertEquals(string1, string2); assertSame(string3, string4); assertNotSame(string1, string3); assertNotNull(string1); assertNull(string5); assertTrue(variable1 < variable2); assertArrayEquals(airethematicArrary1, airethematicArrary2); } }
Step 2) Ülaltoodud klassi käivitamiseks peate looma testijaoturi klassi:
TestRunner.java
package guru99.junit; import org.junit.runner.JUnitCore; import org.junit.runner.Result; import org.junit.runner.notification.Failure; public class TestRunner { public static void main(String[] args) { Result result = JUnitCore.runClasses(Junit4AssertionTest.class); for (Failure failure : result.getFailures()) { System.out.println(failure.toString()); } System.out.println("Result==" + result.wasSuccessful()); } }
Step 3) Analüüsime oodatavat väljundit samm-sammult. Vaatleme kõiki väidelauseid ükshaaval:
- assertEquals(string1, string2);
Nüüd võrdle string1=”Junit” string2=”Junit”-iga, kasutades Object klassi equals meetodit. Asendades assertEquals meetodi java.lang.Object.equals() meetodiga:
string1.equals(string2) => tagastab tõese väärtuse
Seega assertEquals(string1, string2) tagastab tõsi.
- assertSame(string3, string4);
Funktsioon „assertSame()” kontrollib, kas kaks objekti viitavad samale objektile. Kuna string3=”test” ja string4=”test”, on nii string3 kui ka string4 sama tüüpi, seega tagastab assertSame(string3, string4) tõsi.
- assertNotSame(string1, string3);
Funktsioon „assertNotSame()” kontrollib, et kaks objekti ei viitaks samale objektile. Kuna string1=”Junit” ja string3=”test”, on nii string1 kui ka string3 erinevat tüüpi, seega tagastab assertNotSame(string1, string3) tõsi.
- assertNotNull(string1);
Funktsioon „assertNotNull()” kontrollib, et objekt ei oleks null. Kuna string1=”Junit”, mis on mitte-nullväärtus, tagastab assertNotNull(string1) väärtuse tõsi.
- assertNull(string5);
Funktsioon „assertNull()” kontrollib, kas objekt on tühiväärtus. Kuna string5=null, mis on tühiväärtus, tagastab assertNull(string5) väärtuse tõsi.
- assertTrue(muutuja1 < muutuja2);
Funktsioon „assertTrue()” kontrollib, kas tingimus on tõene. Kuna muutuja1=1 ja muutuja2=2, mis näitab, et tingimus muutuja1 < muutuja2 on tõene, tagastab assertTrue(muutuja1 < muutuja2) tõsi.
- assertArrayEquals(õhutemaatilineMassiv1, õhutemaatilineMassiv2);
Funktsioon „assertArrayEquals()” kontrollib, kas oodatav massiiv ja tulemuseks saadav massiiv on võrdsed. Massiivi tüüp võib olla int, long, short, char, byte või java.lang.Object. Kuna airethematicArrary1 = { 1, 2, 3 } ja airethematicArrary2 = { 1, 2, 3 }, mis näitab, et mõlemad massiivid on võrdsed, tagastab assertArrayEquals(airethematicArrary1, airethematicArrary2) väärtuse tõsi.
Kuna kõik seitse väidavad väiteid Junit4AssertionTest.java Klass return true, kui käivitate testi assert klassi, tagastab see eduka testi (vt allolevat väljundit).
Step 4) Paremklõpsake Junit4AssertionTest.java failil ja seejärel valige Käivita nimega -> JUnit. Näete allolevat väljundit:
Ülaltoodud väljund näitab ootuspäraselt edukat testi tulemust.

