Što je Junit Assert?
Utvrđivanje je metoda korisna u određivanju statusa uspješnosti ili neuspjeha testnog slučaja. Metode potvrde pruža klasa org.junit.Assert koja proširuje klasu java.lang.Object.
Postoje razne vrste tvrdnji kao što su Boolean, Null, Identical itd.
Junit nudi klasu nazvanu Assert, koja nudi hrpu metoda tvrđenja korisnih za pisanje testnih slučajeva i otkrivanje neuspjeha testa
Metode potvrde pruža klasa org.junit.Assert koja proširuje klasu java.lang.Object .
U ovom vodiču naučit ćete-
- JUnit Assert metode
- Booleova
- Nulti objekt
- Identičan
- Utvrdi jednako
- Utvrdite da je polje jednako
- Poruka neuspjeha
- JUnit assertEquals
- Tvrdnje s pomičnim zarezom
- Primjer JUnit Assert
JUnit Assert metode
Booleova
Ako želite testirati logičke uvjete (istinite ili netačne), možete koristiti sljedeće metode tvrđenja
- assertTrue (stanje)
- assertFalse (uvjet)
Ovdje je uvjet logička vrijednost.
Nulti objekt
Ako želite provjeriti početnu vrijednost objekta / varijable, imate sljedeće metode:
- assertNull (objekt)
- assertNotNull (objekt)
Ovdje je objekt Java objekt, npr. AssertNull (stvarni);
Identičan
Ako želite provjeriti jesu li objekti identični (tj. Uspoređujući dvije reference na isti java objekt) ili različiti.
- assertSame (očekivano, stvarno), Vratit će true ako se očekuje == stvarno
- assertNotSame (očekivano, stvarno)
Utvrdi jednako
Ako želite testirati jednakost dvaju predmeta, imate sljedeće metode
- assertEquals (očekivano, stvarno)
Vratit će true ako: očekuje.equals (stvarni) vraća true.
Utvrdite da je polje jednako
Ako želite testirati jednakost nizova, imate sljedeće metode kako su navedene u nastavku:
- assertArrayEquals (očekivano, stvarno)
Gore navedena metoda mora se koristiti ako nizovi imaju istu duljinu, za svaku valjanu vrijednost za i možete je provjeriti kako je dano dolje:
- assertEquals (očekivano [i], stvarno [i])
- assertArrayEquals (očekivano [i], stvarno [i])
Poruka neuspjeha
Ako želite izbaciti bilo kakvu pogrešku u tvrdnji, imate neuspjeh () koji uvijek rezultira presudom neuspjeha.
- Neuspjeh (poruka);
Možete imati metodu tvrdnje s dodatnim parametrom String kao prvim parametrom. Ovaj će se niz dodati u poruku o neuspjehu ako tvrdnja ne uspije. Npr. Neuspjeh (poruka) može se zapisati kao
- assertEquals (poruka, očekivana, stvarna)
JUnit assertEquals
Imate assertEquals (a, b) koji se oslanja na metodu equals () klase Object.
- Ovdje će se vrednovati kao a.equals (b).
- Ovdje se ispitivana klasa koristi za određivanje prikladne relacije jednakosti.
- Ako klasa ne nadjača metodu equals () klase Objekt , dobit će zadano ponašanje metode equals () , tj. Identitet objekta.
Ako su a i b primitivi kao što su byte , int , boolean itd., Tada će se za assertEquals (a, b) učiniti sljedeće:
a i b pretvorit će se u njihov ekvivalentni tip objekta omota ( bajt, cjelobrojno , logičko , itd.), a zatim će se procijeniti a.equals (b) .
Na primjer: Razmotrite dolje spomenute nizove koji imaju iste vrijednosti, testirajmo ih pomoću assertTrue
Niz obj1 = "Junit";Niz obj2 = "Junit";assertEquals (obj1, obj2);
Iznad izjave assert vratit će true kao što obj1.equals (obj2) vraća true.
Tvrdnje s pomičnim zarezom
Kada želite usporediti vrste s pomičnim zarezom (npr bračni ili plovak ), potreban vam je dodatni željeni parametar deltu na probleme izbjegavajte s zaokruženja pogreške dok radite usporedbe s pomičnim zarezom.
Tvrdnja procjenjuje kako je dano u nastavku:
- Math.abs (očekivano - stvarno) <= delta
Na primjer:
assertEquals (aDoubleValue, anotherDoubleValue, 0,001)
Primjer JUnit Assert
Ispod je prikazano kako se tvrdi stanje pomoću JUnit metoda utvrđivanja.
Stvorimo jednostavnu testnu klasu nazvanu Junit4AssertionTest.java i klasu test runnera TestRunner.java .
Stvorit ćete nekoliko varijabli i važne izjave za potvrdu u JUnit-u.
U ovom ćete primjeru izvršiti našu test klasu pomoću TestRunner.java
Korak 1) Stvorimo klasu koja pokriva sve važne metode izjavljivanja u junit-u:
Junit4AssertionTest.java
paket guru99.junit;uvezi statički org.junit.Assert. *;uvoz org.junit.Test;javna klasa Junit4AssertionTest {@Testtest javne praznineAssert () {// Izjava varijableNiz string1 = "Junit";Niz string2 = "Junit";Niz string3 = "test";Niz string4 = "test";Niz string5 = null;int varijabla1 = 1;int varijabla2 = 2;int [] airethematicArrary1 = {1, 2, 3};int [] airethematicArrary2 = {1, 2, 3};// Tvrditi izjaveassertEquals (niz1, niz2);assertSame (string3, string4);assertNotSame (string1, string3);assertNotNull (string1);assertNull (string5);assertTrue (varijabla1Korak 2) Morate stvoriti probnu klasu trkača za izvršavanje iznad klase:
TestRunner.java
paket guru99.junit;import org.junit.runner.JUnitCore;uvoz org.junit.runner.Result;import org.junit.runner.notification.Failure;javna klasa TestRunner {javna statička void glavna (String [] args) {Rezultat rezultata = JUnitCore.runClasses (Junit4AssertionTest.class);for (Neuspjeh neuspjeha: result.getFailures ()) {System.out.println (neuspjeh.toString ());}System.out.println ("Rezultat ==" + rezultat.bio je uspješan ());}}Korak 3) Omogućimo analizu očekivanih rezultata korak po korak:
Razmotrite sve tvrdnje jednu po jednu:
- assertEquals (niz1, niz2);
Sada usporedite string1 = "Junit" sa string2 = "Junit" s jednakom metodom klase objekta. Zamjena metode assertEquals iz metode java.lang.Object.equals ():
string1.equals (string2) => vraća true
Dakle, assertEquals (string1, string2) vratit će true .
- assertSame (string3, string4);
Funkcija "assertSame ()" je provjeriti odnose li se dva objekta na isti objekt.
Budući da string3 = "test" i string4 = "test" znače da su i string3 i string4 istog tipa, pa će assertSame (string3, string4) vratiti true .
- assertNotSame (string1, string3);
Funkcija "assertNotSame ()" je provjeravati da se dva objekta ne odnose na isti objekt.
Budući da string1 = "Junit" i string3 = "test" znače da su i string1 i string3 različitih vrsta, pa će assertNotSame (string1, string3) vratiti true .
- assertNotNull (string1);
Funkcija "assertNotNull ()" je provjera da objekt nije null.
Budući da je string1 = "Junit" koja nije null vrijednost, pa će assertNotNull (string1) vratiti true .
- assertNull (string5);
Funkcija "assertNull ()" je provjera nule objekta.
Budući da je string5 = null što je null vrijednost, pa će assertNull (string5) vratiti true .
- assertTrue (varijabla1
Funkcija "assertTrue ()" je provjera je li uvjet istinit.
Budući da je varijabla1 = 1 i varijabla2 = 2, što pokazuje da je varijabla1
true .
- assertArrayEquals (airethematicArrary1, airethematicArrary2);
Funkcija "assertArrayEquals ()" je provjera jesu li očekivani niz i rezultirajući niz jednaki. Tip Array može biti int, long, short, char, byte ili java.lang.Object.
Budući da su airethematicArrary1 = {1, 2, 3} i airethematicArrary2 = {1, 2, 3} što pokazuje da su oba polja jednaka, pa će assertArrayEquals (airethematicArrary1, airethematicArrary2) vratiti true
Budući da svih sedam izjava za potvrdu klase Junit4AssertionTest.java vraća true, stoga ćete, kada izvršite testnu klasu potvrde, vratiti uspješan test. (pogledajte izlaz ispod)
Korak 4) Desni klik na Junit4AssertionTest.java i kliknite na runAs-> JUnit. Izlaz ćete vidjeti kako je dolje navedeno:
Iznad rezultata prikazuje se očekivani uspješan rezultat testa.
Sažetak:
U ovom vodiču naučili ste sve važne vrste metoda tvrđenja koje pruža JUnit. Također, vidjeli ste primjere izjava za tvrdnju. Što pokazuje da ako svi izrazi za potvrdu vrate true, tada će testni GUI vratiti istinit rezultat, a ako pojedinačni test ne uspije, vratit će neuspjeli rezultat.