Junit Assert & AssertEquals koos näitega

Lang L: none (table-of-contents):

Anonim

Mis on Junit Assert?

Kinnitus on meetod, mis on kasulik testjuhtumi edukuse või ebaõnnestumise oleku määramiseks. Kinnitusmeetodid pakub klass org.junit.Assert, mis laiendab klassi java.lang.Object.

On erinevaid väiteid, nagu Boolean, Null, Identical jne.

Junit pakub klassi Assert, mis pakub hulga kinnitusmeetodeid, mis on kasulikud testjuhtumite kirjutamiseks ja testide ebaõnnestumise tuvastamiseks

Kinnitusmeetodid pakub klass org.junit.Assert, mis laiendab klassi java.lang.Object .

Selles õpetuses saate teada

  • JUnit Assert-meetodid
  • Boolean
  • Tühi objekt
  • Identsed
  • Kinnitage võrdsed
  • Kinnitage massiivi võrdne
  • Ebaõnnestunud teade
  • JUnit väidabEquals
  • Ujuvate punktide väited
  • JUniti kinnitusnäide

JUnit Assert-meetodid

Boolean

Kui soovite testida tõeväärtuse tingimusi (tõesed või valed), võite kasutada järgmisi kinnitusmeetodeid

  1. assertTrue (tingimus)
  2. assertFalse (tingimus)

Siin on tingimus tõeväärtus.

Tühi objekt

Kui soovite kontrollida objekti / muutuja algväärtust, on teil järgmised meetodid:

  1. assertNull (objekt)
  2. assertNotNull (objekt)

Siin on objekt Java objekt, nt assertNull (tegelik);

Identsed

Kui soovite kontrollida, kas objektid on identsed (st kahe javaobjekti viite võrdlemine) või erinevad.

  1. assertSame (eeldatav, tegelik), see vastab tõele, kui oodata == tegelik
  2. assertNotSame (eeldatav, tegelik)

Kinnitage võrdsed

Kui soovite testida kahe objekti võrdsust, on teil järgmised meetodid

  • assertEquals (eeldatav, tegelik)

See naaseb tõeseks, kui: eeldatav. Võrdub (tegelik) tagastab tõese.

Kinnitage massiivi võrdne

Massiivide võrdsuse testimiseks on teil järgmised meetodid, nagu allpool on toodud:

  • assertArrayEquals (eeldatav, tegelik)

Kui massiividel on sama pikkus, tuleb kasutada ülaltoodud meetodit. Iga i jaoks kehtiva väärtuse korral saate seda kontrollida järgmiselt:

  • assertEquals (eeldatav [i], tegelik [i])
  • assertArrayEquals (eeldatav [i], tegelik [i])

Ebaõnnestunud teade

Kui soovite visata väite väite kohta, on teil fail (), mille tulemuseks on alati ebaõnnestunud kohtuotsus.

  • Ebaõnnestunud (teade);

Teil võib olla kinnitusmeetod koos esimese parameetrina täiendava String parameetriga. Kui väide ebaõnnestub, lisatakse see string tõrketeatesse. Nt ebaõnnestumist (sõnumit) saab kirjutada järgmiselt

  • assertEquals (sõnum, eeldatav, tegelik)

JUnit väidabEquals

Teil on assertEquals (a, b), mis tugineb Object-klassi meetodile equals () .

  • Siin hinnatakse seda kui a. Võrdset (b).
  • Siin kasutatakse testitava klassi sobiva võrdsussuhte määramiseks.
  • Kui klassi ei vabasta võrdsete () meetod Objekti klassi, see saab vaiketoimingud võrdsete () meetod, st objekti identiteet.

Kui a ja b on primitiivsed, nagu bait , int , tõeväärtus jne, tehakse assertEquals (a, b) jaoks järgmist:

a ja b teisendatakse nende ekvivalentseks ümbriseobjekti tüübiks ( bait, täisarv , boolean jne) ja seejärel hinnatakse a. võrdsed (b) .

Näiteks: kaaluge allpool mainitud stringe, millel on samad väärtused, testime seda assertTrue abil

Stringi obj1 = "Junit";Stringi obj2 = "Junit";assertEquals (obj1, obj2);

Ülaltoodud väite väide tagastab tõene, kuna obj1.equals (obj2) tagastab tõese.

Ujuvate punktide väited

Kui soovite võrrelda ujukoma tüüpi (nt topelt või float ), pead veel nõutud parameetri delta vältida probleeme ümardada vigu tehes ujukoma võrdlusi.

Väidet hinnatakse järgmiselt:

  • Math.abs (eeldatav - tegelik) <= delta

Näiteks:

assertEquals (aDoubleValue, anotherDoubleValue, 0,001)

JUniti kinnitusnäide

Allpool toodud näide näitab, kuidas seisundit kinnitada, kasutades JUniti kinnitusmeetodeid.

Loome lihtsa testklassi nimega Junit4AssertionTest.java ja testjooksjate klassi TestRunner.java .

JUnitis loote vähe muutujaid ja olulisi väiteid.

Selles näites sooritate meie testklassi, kasutades TestRunner.java

Samm 1) Võimaldab luua klassi, mis hõlmab kõiki olulisi väidete väitemeetodeid junitis:

Junit4AssertionTest.java

pakett guru99.junit;import staatiline org.junit.Assert. *;import org.junit.Test;avalik klass Junit4AssertionTest {@Testpublic void testAssert () {// Muutuv deklaratsioonStringistring1 = "Junit";String string2 = "Junit";String string3 = "test";String string4 = "test";String string5 = null;int muutuja1 = 1;int muutuja2 = 2;int [] airethematicArrary1 = {1, 2, 3};int [] airethematicArrary2 = {1, 2, 3};// Kinnita väiteidassertEquals (string1, string2);assertSame (string3, string4);assertNotSame (string1, string3);assertNotNull (string1);assertNull (string5);assertTrue (muutuja1 

2. samm. Klassist kõrgemale täitmiseks peate looma testjooksja klassi:

TestRunner.java

pakett guru99.junit;import org.junit.runner.JUnitCore;import org.junit.runner.Result;import org.junit.runner.notification.Failure;avalik klass TestRunner {public staatiline void main (String [] args) {Tulemus = JUnitCore.runClasses (Junit4AssertionTest.class);for (rikke tõrge: result.getFailures ()) {System.out.println (rike.String ());}System.out.println ("Result ==" + result.wasSuccessful ());}}

Samm 3) Võimaldab oodatavat väljundit samm-sammult analüüsida:

Mõelge kõik väited ükshaaval:

  1. assertEquals (string1, string2);

Nüüd võrrelge string1 = "Junit" stringiga 2 = "Junit" objektiklassi võrdse meetodiga. Meetodi assertEquals asendamine meetodist java.lang.Object.equals ():

string1.equals (string2) => tagastab true

Seega tagastab assertEquals (string1, string2) tõene .

  1. assertSame (string3, string4);

Funktsioon "assertSame ()" on kontrollida, kas kaks objekti viitavad samale objektile.

Kuna string3 = "test" ja string4 = "test" tähendab, et nii string3 kui ka string4 on sama tüüpi, tagastab assertSame (string3, string4) tõene .

  1. assertNotSame (string1, string3);

Funktsioon "assertNotSame ()" on kontrollida, kas kaks objekti ei viita samale objektile.

Kuna string1 = "Junit" ja string3 = "test" tähendab, et nii string1 kui ka string3 on erinevat tüüpi, tagastatakse assertNotSame (string1, string3) tõene .

  1. assertNotNull (string1);

Funktsioon "assertNotNull ()" on kontrollida, kas objekt pole null.

Kuna string1 = "Junit", mis pole nullväärtus, tagastatakse assertNotNull (string1) tõene .

  1. assertNull (string5);

Funktsioon "assertNull ()" on kontrollida, kas objekt on null.

Kuna string5 = null, mis on nullväärtus, tagastatakse assertNull (string5) tõene .

  1. assertTrue (muutuja1

Funktsioon "assertTrue ()" on tingimuse tõesuse kontrollimine.

Kuna muutuja1 = 1 ja muutuja2 = 2, mis näitab, et muutuja1 tõene .

  1. assertArrayEquals (airethematicArrary1, airethematicArrary2);

Funktsioon "assertArrayEquals ()" on kontrollida, kas eeldatav massiiv ja saadud massiiv on võrdsed. Massiivi tüüp võib olla int, pikk, lühike, char, bait 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, tagastatakse assertArrayEquals (airethematicArrary1, airethematicArrary2) tõene

Kuna klassi Junit4AssertionTest.java kõik seitse väidet tagastavad tõene, tagastab see testi kinnitusklassi käivitamisel eduka testi. (vt väljundit allpool)

Samm 4) Paremklõpsake Junit4AssertionTest.java ja klõpsake RunAs-> JUnit. Näete väljundit allpool esitatud viisil:

Ülaltoodud väljund näitab ootuspärast edukat testitulemust.

Kokkuvõte:

Selles õpetuses õppisite kõiki olulisi JUniti pakutavaid kinnitusmeetodeid. Samuti olete näinud väiteid väidete kohta. Mis näitab, et kui kõik väidetavad väited vastavad tõele, tagastab testi graafiline kasutajaliides tõese tulemuse ja kui üks test ebaõnnestub, tagastab ebaõnnestunud tulemuse.