Junit Assert & Assert er lik med eksempel
⚡ Smart oppsummering
JUnit Assert og AssertEquals bestemmer bestått- eller ikke-bestått-statusen til en testtilfelle ved å sammenligne forventede og faktiske verdier. Denne ressursen forklarer assert-metodene som tilbys av org.junit.Assert, inkludert boolske, null-, identitets-, likhets- og array-påstander, med et komplett fungerende eksempel.
Hva er Junit Assert?
Assert er en metode som er nyttig for å avgjøre statusen for bestått eller ikke bestått i et testtilfelle. Assert-metodene leveres av klassen org.junit.Assert, som utvider java.lang.Object-klassen.
Det finnes forskjellige typer påstander, som boolsk, null, identisk, osv.
JUnit tilbyr en klasse kalt Assert, som tilbyr en rekke påstandsmetoder som er nyttige for å skrive testtilfeller og oppdage testfeil.
Påstandsmetodene leveres av klassen org.junit.Assert, som utvider java.lang.Object klasse.
JUnit Påstå metoder
boolean
Hvis du vil teste de boolske betingelsene (sann eller usann), kan du bruke følgende assert-metoder:
- assertTrue(tilstand)
- assertFalse(tilstand)
Her er tilstanden en boolsk verdi.
Null objekt
Hvis du vil sjekke startverdien til et objekt/variabel, har du følgende metoder:
- assertNull(objekt)
- assertNotNull(objekt)
Her er objektet et Java gjenstand, f.eks assertNull(faktisk);
Identisk
Hvis du vil sjekke om objektene er identiske (dvs. sammenligne to referanser til det samme Java objekt) eller annerledes:
- assertSame(forventet, faktisk) — Den vil returnere sann hvis forventet == faktisk.
- assertNotSame (forventet, faktisk)
Påstå lik
Hvis du vil teste likheten mellom to objekter, har du følgende metode:
- assertEquals (forventet, faktisk)
Det vil returnere sant hvis forventet.lik(faktisk) returnerer sant.
Assert Array er lik
Hvis du vil teste likheten mellom arrayer, har du følgende metode:
- assertArrayEquals (forventet, faktisk)
Metoden ovenfor må brukes hvis arrayer har samme lengde. For hver gyldig verdi for i, kan du sjekke det som gitt nedenfor:
- assertEquals(forventet[i], faktisk[i])
- assertArrayEquals(forventet[i], faktisk[i])
Feilmelding
Hvis du vil kaste en påstandsfeil, har du det mislykkes(), noe som alltid resulterer i en feilslutning.
- mislykkes(melding);
Du kan ha en påstandsmetode med en ekstra String parameter som den første parameteren. Denne strengen vil bli lagt til feilmeldingen hvis deklarasjonen mislykkes. For eksempel, mislykkes (melding) kan skrives som:
- assertEquals(melding, forventet, faktisk)
JUnit assertEquals
Du har hevdeLik(a, b), som er avhengig av er lik () metoden til Object-klassen.
- Her vil det bli vurdert som a.lik(b).
- Her brukes klassen som testes for å bestemme en passende likhetsrelasjon.
- Hvis en klasse ikke overstyrer er lik () metode av Objekt klassen, vil den få standardoppførselen til er lik () metode, dvs. objektidentitet.
If a og b er primitiver som f.eks byte, int, booleanosv., så vil følgende bli gjort for assertEquals(a, b):
a og b vil bli konvertert til deres tilsvarende innpakningsobjekttype (Byte, heltall, boolskosv.), og deretter a.lik(b) vil bli vurdert.
For eksempel, la oss teste strengene nevnt nedenfor med samme verdier; la oss bruke assertEquals:
String obj1 = "Junit"; String obj2 = "Junit"; assertEquals(obj1, obj2);
Ovennevnte assert-setning vil returnere sann når obj1.equals(obj2) returnerer sann.
Flytepunktpåstander
Når du vil sammenligne flyttallstyper (f.eks. dobbelt or flyte), trenger du en ekstra obligatorisk parameter, Delta, for å unngå problemer med avrundingsfeil når du gjør flyttallssammenligninger.
Påstanden vurderes som gitt nedenfor:
- Math.abs(forventet – faktisk) <= delta
For eksempel:
hevdeLik(aDoubleVerdi, en annenDoubleVerdi, 0.001)
JUnit Påstå eksempel
Eksemplet nedenfor viser hvordan man hevder en betingelse ved hjelp av JUnit hevde metoder.
La oss lage en enkel testklasse med navnet Junit4AssertionTest.java og en testløperklasse TestRunner.java.
Du skal opprette noen få variabler og viktige assert-setninger i JUnit.
I dette eksemplet skal du kjøre testklassen vår ved hjelp av TestRunner.java.
Trinn 1) La oss lage en klasse som dekker alle viktige metoder for assert-setninger i 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); } }
Trinn 2) Du må opprette en testløperklasse for å kjøre klassen ovenfor:
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()); } }
Trinn 3) La oss analysere det forventede resultatet trinn for trinn. Vurder alle assert-setningene én etter én:
- assertEquals(streng1, streng2);
Sammenlign nå string1="Junit" med string2="Junit" med equals-metoden i Object-klassen. Erstatt assertEquals-metoden med java.lang.Object.equals()-metoden:
streng1.equals(streng2) => returnerer sann
Så assertEquals(string1, string2) vil returnere sant.
- assertSame(streng3, streng4);
Funksjonaliteten «assertSame()» skal sjekke at de to objektene refererer til det samme objektet. Siden string3="test" og string4="test", er både string3 og string4 av samme type, så assertSame(string3, string4) vil returnere sant.
- assertNotSame(streng1, streng3);
Funksjonaliteten «assertNotSame()» skal sjekke at de to objektene ikke refererer til det samme objektet. Siden string1=»Junit» og string3=»test», er både string1 og string3 av forskjellige typer, så assertNotSame(string1, string3) vil returnere sant.
- assertNotNull(streng1);
Funksjonaliteten «assertNotNull()» er for å sjekke at et objekt ikke er null. Siden string1=»Junit», som er en verdi som ikke er null, vil assertNotNull(string1) returnere sant.
- assertNull(streng5);
Funksjonaliteten «assertNull()» er for å sjekke om et objekt er null. Siden string5=null, som er en nullverdi, vil assertNull(string5) returnere sant.
- påståSann(variabel1 < variabel2);
Funksjonaliteten «assertTrue()» er for å sjekke om en betingelse er sann. Siden variabel1=1 og variabel2=2, som viser at variabel1 < variabel2-betingelsen er sann, vil assertTrue(variabel1 < variabel2) returnere sant.
- assertArrayEquals(airethematicArrary1, airethematicArrary2);
Funksjonaliteten «assertArrayEquals()» sjekker at den forventede tabellen og den resulterende tabellen er like. Tabelltypen kan være int, long, short, char, byte eller java.lang.Object. Siden airethematicArrary1 = { 1, 2, 3 } og airethematicArrary2 = { 1, 2, 3 }, som viser at begge tabellene er like, vil assertArrayEquals(airethematicArrary1, airethematicArrary2) returnere sant.
Siden alle syv hevder uttalelser fra Junit4AssertionTest.java class return true, når du kjører test assert-klassen, vil den returnere en vellykket test (se utdataene nedenfor).
Trinn 4) Høyreklikk på Junit4AssertionTest.java og klikk på Kjør som -> JUnit. Du vil se utgangen som gitt nedenfor:
Resultatet ovenfor viser et vellykket testresultat som forventet.


