JUnit Assertions Class sisaldab staatiliste meetodite kogumit, mis võimaldavad teil läbi viia ühikuteste. Väited on üks JUniti põhifunktsioone. Selles klassis on üle viiekümne erineva meetodi. Mõned väidete klassi testid ebaõnnestuvad, kui tingimus on tõene, samas kui teised ebaõnnestuvad, kui tingimus on väär.

Assertions klassis on ka palju ülekoormatud meetodeid. Igal kinnitusmeetodil on vähemalt kaks ülekoormatud meetodit. Avastage mõned populaarsemad Assertionsi klassi meetodid ja uurige, kuidas neid ühikutestide tegemiseks kasutada.

AssertEqualsi meetod

JUnit 5 assertEquals meetodil on üle kümne variandi. See meetod on üks populaarsemaid Assertions klassi meetodeid. Meetodi assertEquals üks variatsioon võtab eeldatava väärtuse ja funktsiooni, mida soovite hinnata (tegelik väärtus). Teine suur variant nõuab täiendava kolmanda argumendi. See on veateade, mis kuvatakse, kui JUniti üksuse test ebaõnnestub.

Meetodi assertEquals ülekoormus toimub erinevate andmetüüpidega. Mõned assertEqualsi ülekoormusmeetodid võtavad neljanda argumendi nimega delta. Muud versioonid asendavad rikkestringi tarnija funktsionaalse liidesega kujul a

lambda väljend.

AssertionsMethods Java klass

pakett com.programm;

avalikklassVäitedMeetodid{
avalikstaatilineintruut(int number){
tagasi num * num;
}
}

Ülaltoodud Java klassis AssertionsMethods on üks meetod, mida nimetatakse ruut. Ruutmeetod võtab täisarvu väärtuse ja tagastab selle ruudu. Ruutmeetodi ja mis tahes tulevaste AssertionsMethods klassi meetodi testimiseks peate looma JUniti testjuhtumi.

AssertionsMethodsTest JUniti testjuhtum

pakett com.programm;

importidastaatilineorg.junit.Kinnita.assertEquals;
importidastaatilineorg.junit.jupiter.api.Väited.*;

importidaorg.junit.jupiter.api.Testi;

klassAssertionsMethodsTest{
@Test
tühinetestSquare(){
kinnitama Võrdsed(25, AssertionMethods.ruut(5));
assertEquals (36, AssertionMethods.square (6), "Teie ruudu väärtused ei ühtinud.");
assertEquals (49, AssertionMethods.ruut (7), () ->"Teie ruudu väärtused ei ühtinud.");
}
}

Meetod testSquare() kasutab ruudu() meetodi testimiseks kolme assertEquals() varianti. Iga assertEquals() on edukas, kuna kõik eeldatavad väärtused vastavad meetodi square() poolt tagastatud tegelikele väärtustele.

AssertNull meetod

Klassil JUnit Assertions on täpselt kolm assertNull meetodit. Igaüks neist meetoditest võtab ühe või mitu argumenti ja kinnitab, kui antud objekt on null. Kui antud objekt ei ole null, siis test ebaõnnestub.

@Test
avaliktühinetestStringValue(){
String stringValue = null;
assertNull (stringValue);
assertNull (stringValue, "Teie stringi väärtus ei ole null");
assertNull (stringValue, () ->"Teie stringi väärtus ei ole null");
}

Esimene assertNull() meetod võtab stringiobjekti ja kontrollib, kas see on null. Teine assertNull() meetod võtab testi ebaõnnestumise korral kuvamiseks stringiobjekti ja stringiteate. Kolmas ja viimane meetod assertNull() võtab objekti, mida soovite hinnata, ja tarnija funktsionaalse liidese.

Ülaltoodud testjuhtumil toimib tarnija liides lambda-avaldise määramise sihtmärgina. Lambda avaldis genereerib veateate, kui test ebaõnnestub.

AssertTrue meetod

AssertTrue() meetodil on kuus varianti. Iga meetod kinnitab, kas antud tingimus on tõene. Kui assertTrue() tingimus on vale, siis test ebaõnnestub.

@Test
tühinetestEvenNumbers(){
int arv1 = 10;
int arv2 = 16;
int number3 = 26;
assertTrue (num1 < number2);
assertTrue (nm3 > number2, "Teie tingimus ei vasta tõele.");
assertTrue (num1 < number3, () ->" Teie tingimus ei vasta tõele.");
assertTrue(() -> arv1%2 == 0);
assertTrue(() -> arv2%2 == 0, "Teie väärtus ei ole paarisarv.");
assertTrue(() -> arv3%2 == 0, () ->"Teie väärtus ei ole paarisarv.");
}

Meetod testEvenNumbers() näitab, kuidas kasutada kõiki kuut assertTrue() meetodit. Kõik ülaltoodud meetodid vastavad tõele, seetõttu käivitatakse see seadmetest ilma tõrgeteta.

  • assertTrue (tõene tingimus): see meetod võtab tõeväärtuse tingimuse ja kinnitab, kas see on tõene. Selle meetodi näide ülaltoodud koodis kinnitab, kui esimene täisarv on teisest väiksem.
  • assertTrue (tõve tingimus, stringi teade): see meetod võtab testimiseks Boole'i ​​tingimuse ja stringi, mis kuvatakse, kui see on vale.
  • assertTrue (tõve tingimus, tarnija messageSupplier): see meetod võtab lambda-avaldisena Boole'i ​​ja tarnija funktsionaalse liidese. Sõnumi tarnija sisaldab stringi, mida kuvada, kui Boole'i ​​tingimus on väär.
  • assertTrue (BooleanSupplier booleanSupplier): see meetod võtab BooleanSupplier funktsionaalse liidese lambda-avaldise kujul, mille väärtus on tõene või väär. Selle meetodi näide koodis kasutab lambda-avaldist. See testib esimese täisarvu jagatuna kahega ülejäänud osa, et teha kindlaks, kas see on paaris või paaritu.
  • assertTrue (BooleanSupplier booleanSupplier, String teade): see meetod võtab BooleanSupplier funktsionaalse liidese lambda-avaldise kujul. Kui BooleanSupier ei vasta tõele, on printimiseks vaja ka stringiteate.
  • assertTrue (BooleanSupplier BooleanSupplier, Tarnija messageSupplier): see meetod nõuab kinnitamiseks BooleanSupplier funktsionaalset liidest. See võtab ka tarnija funktsionaalse liidese, mis on lambda-avaldis, mis prindib stringi väärtuse, kui test ebaõnnestub.

AssertFalse meetod

AssertFalse() meetod on assertTrue() meetodi vastand. See meetod hindab antud tingimust, et näha, kas see on vale. Kui antud tingimus on tõene, siis assertFalse() test ebaõnnestub. Meetodil assertFalse() on ka kuus varianti, mis aktsepteerivad samu argumente, mis nende assertTrue() vasted.

@Test
tühinetestNotEvenNumbers(){
int arv1 = 11;
int arv2 = 17;
int number3 = 27;
assertFalse (num2 < number1);
assertFalse (num2 > number3, " Teie tingimus ei ole vale.");
assertFalse (nm3 < number1, () ->" Teie tingimus ei ole vale.");
assertFalse(() -> arv1%2 == 0);
assertFalse(() -> arv2%2 == 0, "Teie väärtus on paarisarv.");
assertFalse(() -> arv3%2 == 0, () ->"Teie väärtus on paarisarv.");
}

Meetodi testNotEvenNumbers() kuus assertFalse() meetodit annavad kõik tulemuseks vale, mis tähendab, et assertFalse() testid on edukad.

Ühiku testimise eelised

Üksuse testimine on tarkvara arendusprotsessi lahutamatu osa. Suured tarkvaraprojektid ebaõnnestuvad erinevatel põhjustel, alates nendega tegelevatest meeskondadest kuni arendusmeetoditeni.

Üksustestimise eesmärk on kõrvaldada tarkvara tõrge, tagades vigade varajase tuvastamise. See nõuab, et meeskonnad töötaksid välja selged spetsifikatsioonid, parandaksid veadokumentatsiooni abil tarkvara disaini ja pakuksid tuge tarkvara hoolduseks.

Üksuse testimine ei ole ainus tarkvara testimise lähenemisviis, mida peaksite oma arenduse elutsüklis kasutama, see on lihtsalt väga hea koht alustamiseks.