Džunita Asert & AssertEquals ar piemēru

Satura rādītājs:

Anonim

Kas ir Junit Assert?

Apstiprināt ir metode, kas noder, lai noteiktu testa gadījuma atbilstības vai neizdošanās statusu. Apstiprināšanas metodes nodrošina klase org.junit.Assert, kas paplašina java.lang.Object klasi.

Pastāv dažādi apgalvojumi, piemēram, Būla, Null, identiski utt.

Junit piedāvā klasi ar nosaukumu Assert, kas nodrošina virkni apgalvojumu metožu, kas noder testa lietu rakstīšanai un testa neveiksmes noteikšanai

Apstiprināšanas metodes nodrošina klase org.junit.Assert, kas paplašina java.lang.Object klasi.

Šajā apmācībā jūs uzzināsiet

  • JUnit Apstiprināt metodes
  • Būla
  • Null objekts
  • Identiski
  • Apstiprināt vienādus
  • Apstipriniet masīvu vienādību
  • Neveiksmīgs ziņojums
  • JUnit assertEquals
  • Peldošo punktu apgalvojumi
  • JUnit apgalvojuma piemērs

JUnit Apstiprināt metodes

Būla

Ja vēlaties pārbaudīt loģiskos apstākļus (patiesus vai nepatiesus), varat izmantot šādas apgalvojuma metodes

  1. assertTrue (nosacījums)
  2. assertFalse (nosacījums)

Šeit nosacījums ir Būla vērtība.

Null objekts

Ja vēlaties pārbaudīt objekta / mainīgā sākotnējo vērtību, jums ir šādas metodes:

  1. assertNull (objekts)
  2. assertNotNull (objekts)

Šeit objekts ir Java objekts, piemēram, assertNull (faktiskais);

Identiski

Ja vēlaties pārbaudīt, vai objekti ir identiski (ti, salīdzinot divas atsauces uz to pašu Java objektu) vai atšķirīgi.

  1. assertSame (paredzamais, faktiskais), tas atgriezīsies patiess, ja gaidāms == faktiskais
  2. assertNotSame (paredzamais, faktiskais)

Apstiprināt vienādus

Ja vēlaties pārbaudīt divu objektu vienlīdzību, jums ir šādas metodes

  • assertEquals (paredzamais, faktiskais)

Tas atgriezīsies patiess, ja: paredzams. Vienāds (faktiskais) atgriež patiesu.

Apstipriniet masīvu vienādību

Ja vēlaties pārbaudīt masīvu vienlīdzību, jums ir šādas metodes, kā norādīts zemāk:

  • assertArrayEquals (paredzamais, faktiskais)

Ja masīviem ir vienāds garums, jāizmanto iepriekš minētā metode. Katru derīgo i vērtību varat pārbaudīt, kā norādīts zemāk:

  • assertEquals (paredzamais [i], faktiskais [i])
  • assertArrayEquals (paredzamais [i], faktiskais [i])

Neveiksmīgs ziņojums

Ja vēlaties mest jebkādu apgalvojumu kļūdu, jums ir fail (), kura rezultātā vienmēr tiek pieņemts neveiksmīgs spriedums.

  • Neveiksme (ziņojums);

Jums var būt apgalvojuma metode ar papildu virknes parametru kā pirmo parametru. Šī virkne tiks pievienota kļūmes ziņojumā, ja apgalvojums neizdosies. Piemēram, neizdoties (ziņojumu) var rakstīt kā

  • assertEquals (ziņojums, gaidāms, faktisks)

JUnit assertEquals

Jums ir assertEquals (a, b), kas balstās uz Object klases metodi equals () .

  • Šeit tas tiks vērtēts kā a.vienāds (b).
  • Šeit, lai noteiktu piemērotu vienlīdzības attiecību, tiek izmantota pārbaudāmā klase.
  • Ja klase nenovērš objektu klases metodi equals () , tā iegūs metodi equals () pēc noklusējuma , ti, objekta identitāti.

Ja un b ir primitīvi, piemēram, baitu , int , boolean , utt, tad turpmāk tiks darīts assertEquals (a, b):

a un b tiks pārveidoti par to ekvivalentu iesaiņojuma objekta tipu ( baits, vesels skaitlis , Būla skaitlis utt.), un pēc tam tiks novērtēti a.

Piemēram: Apsveriet tālāk minētās virknes ar vienādām vērtībām, pārbaudīsim to, izmantojot assertTrue

Stīgu obj1 = "Junit";Stīgu obj2 = "Junit";assertEquals (obj1, obj2);

Virs apgalvojuma apgalvojuma atgriezīsies patiess, jo obj1.equals (obj2) atgriež patiesu.

Peldošo punktu apgalvojumi

Ja vēlaties, lai salīdzinātu peldoša komata veidu (piemēram, dubultā vai float ), Jums ir nepieciešama papildu nepieciešamo parametra delta , lai izvairītos no problēmām, ar noapaļot kļūdas, vienlaikus darot peldoša komata salīdzinājumus.

Apgalvojums tiek vērtēts šādi:

  • Math.abs (paredzamais - faktiskais) <= delta

Piemēram:

assertEquals (aDoubleValue, anotherDoubleValue, 0,001)

JUnit apgalvojuma piemērs

Zemāk sniegtajā piemērā parādīts, kā apgalvot stāvokli, izmantojot JUnit apgalvojuma metodes.

Izveidosim vienkāršu testa klasi ar nosaukumu Junit4AssertionTest.java un testa skrējēju klasi TestRunner.java .

JUnit izveidosiet dažus mainīgos un svarīgus apgalvojumus.

Šajā piemērā jūs veicat mūsu testa klasi, izmantojot TestRunner.java

1. solis. Ļauj izveidot klasi, kas aptver visas svarīgās apgalvojuma izteikšanas metodes junit:

Junit4AssertionTest.java

pakete guru99.junit;importēt statisko org.junit.Assert. *;importēt org.junit.Test;publiskā klase Junit4AssertionTest {@Pārbaudepublic void testAssert () {// Mainīgā deklarācijaVirknes virkne1 = "Junit";Virknes virkne2 = "Junit";Virkne string3 = "tests";Virkne string4 = "tests";Virknes virkne5 = null;int mainīgais1 = 1;int mainīgais2 = 2;int [] airethematicArrary1 = {1, 2, 3};int [] airethematicArrary2 = {1, 2, 3};// Apgalvot apgalvojumusassertEquals (virkne1, virkne2);assertSame (string3, string4);assertNotSame (virkne1, virkne3);assertNotNull (virkne1);assertNull (virkne5);assertTrue (mainīgais1 

2. solis. Lai izpildītu virs klases, jums jāizveido testa skrējēju klase:

TestRunner.java

pakete guru99.junit;importēt org.junit.runner.JUnitCore;importēt org.junit.runner.Result;importēt org.junit.runner.notification.Failure;publiskā klase TestRunner {public static void main (String [] args) {Rezultāta rezultāts = JUnitCore.runClasses (Junit4AssertionTest.class);par (Neveiksmes kļūme: result.getFailures ()) {System.out.println (fail.toString ());}System.out.println ("Result ==" + result.wasSuccessful ());}}

3. solis. Ļauj soli pa solim analizēt paredzamo iznākumu:

Apsveriet visus apgalvojumus pa vienam:

  1. assertEquals (virkne1, virkne2);

Tagad salīdziniet string1 = "Junit" ar string2 = "Junit" ar vienādu objektu klases metodi. Metodes assertEquals aizstāšana ar metodi java.lang.Object.equals ():

string1.equals (string2) => atgriež true

Tātad assertEquals (string1, string2) atgriezīsies patiess .

  1. assertSame (string3, string4);

Funkcija "assertSame ()" ir pārbaudīt, vai abi objekti attiecas uz vienu un to pašu objektu.

Tā kā string3 = "test" un string4 = "test" nozīmē, ka gan string3, gan string4 ir vienāda tipa, assertSame (string3, string4) atgriezīsies patiess .

  1. assertNotSame (virkne1, virkne3);

Funkcija "assertNotSame ()" ir pārbaudīt, vai abi objekti neattiecas uz vienu un to pašu objektu.

Tā kā string1 = "Junit" un string3 = "test" nozīmē, ka gan string1, gan string3 ir dažāda veida, tāpēc assertNotSame (string1, string3) atgriezīsies patiess .

  1. assertNotNull (virkne1);

Funkcija "assertNotNull ()" ir pārbaudīt, vai objekts nav nulle.

Tā kā string1 = "Junit", kas nav nulles vērtība, tāpēc assertNotNull (string1) atgriezīsies patiess .

  1. assertNull (virkne5);

Funkcija "assertNull ()" ir pārbaudīt, vai objekts nav derīgs.

Tā kā string5 = null, kas ir nulles vērtība, tāpēc assertNull (string5) atgriezīsies patiess .

  1. assertTrue (mainīgais1

Funkcija "assertTrue ()" ir pārbaudīt, vai nosacījums ir patiess.

Tā kā mainīgais1 = 1 un mainīgais2 = 2, kas parāda, ka mainīgais1 patiess .

  1. assertArrayEquals (airethematicArrary1, airethematicArrary2);

Funkcija "assertArrayEquals ()" ir pārbaudīt, vai paredzamais masīvs un iegūtais masīvs ir vienādi. Masīva veids var būt int, garš, īss, char, baits vai java.lang.Object.

Tā kā airethematicArrary1 = {1, 2, 3} un airethematicArrary2 = {1, 2, 3}, kas parāda, ka abi masīvi ir vienādi, assertArrayEquals (airethematicArrary1, airethematicArrary2) atgriezīsies patiess

Tā kā visi septiņi Junit4AssertionTest.java klases apgalvojumi atgriež vērtību true, tādēļ, izpildot testa assert klasi, tas atgriezīs veiksmīgu testu. (skatiet izvadi zemāk)

4. solis) Ar peles labo pogu noklikšķiniet uz Junit4AssertionTest.java un noklikšķiniet uz runAs-> JUnit. Jūs redzēsiet izvadi, kā norādīts zemāk:

Virs izvades parādīts veiksmīgs testa rezultāts, kā paredzēts.

Kopsavilkums:

Šajā apmācībā jūs uzzinājāt visus svarīgos apgalvojuma metožu veidus, ko nodrošina JUnit. Jūs esat redzējuši arī apgalvojumu apgalvojumus. Kas parāda, ka, ja visi apgalvojuma apgalvojumi atgriežas kā patiess, tad testa GUI atgriezīs patiesu rezultātu un, ja viens tests neizdosies, tas atgriezīs neizdevušos rezultātu.