Класа ЈУнит Ассертионс садржи колекцију статичких метода које вам омогућавају да спроводите јединичне тестове. Тврдње су једна од основних карактеристика ЈУнит-а. Ова класа има преко педесет различитих метода. Неки тестови класе Ассертионс неће успети ако је услов тачан, док други неће успети ако је услов нетачан.

Класа Ассертионс такође има много преоптерећених метода. Сваки метод тврдње има најмање две преоптерећене методе. Откријте неке од популарнијих метода класе Ассертионс и сазнајте како да их користите за извођење јединичних тестова.

Метод ассертЕкуалс

Метода ЈУнит 5 ассертЕкуалс има преко десет варијација. Ова метода је једна од најпопуларнијих метода класе Ассертионс. Једна варијација методе ассертЕкуалс узима очекивану вредност и функцију коју желите да процените (стварна вредност). Друга велика варијанта узима додатни трећи аргумент. Ово је порука о грешци која ће се приказати ако ЈУнит јединични тест не успева.

Преоптерећење методе ассертЕкуалс се дешава са различитим типовима података. Неке методе преоптерећења ассертЕкуалс узимају четврти аргумент који се зове делта. Друге верзије замењују низ грешке функционалним интерфејсом добављача, у облику а

instagram viewer
ламбда израз.

АссертионсМетходс Јава класа

пакет цом.програм;

јавностикласаАссертионсМетходс{
јавностистатичнеинтквадрат(инт број){
повратак број * број;
}
}

Јава класа АссертионсМетходс изнад има један метод који се зове квадрат. Метод квадрата узима целобројну вредност и враћа њен квадрат. Да бисте тестирали квадратну методу и било коју будућу методу из класе АссертионсМетходс, мораћете да креирате ЈУнит тест случај.

АссертионсМетходсТест ЈУнит тест случај

пакет цом.програм;

увозстатичнеорг.јунит.Ассерт.ассертЕкуалс;
увозстатичнеорг.јунит.Јупитер.апи.Тврдње.*;

увозорг.јунит.Јупитер.апи.Тест;

класаАссертионсМетходсТест{
@Тест
празнинатестСкуаре(){
ассертЕкуалс(25, АссертионМетходс.квадрат(5));
ассертЕкуалс (36, АссертионМетходс.скуаре (6), "Ваше квадратне вредности се не подударају.");
ассертЕкуалс (49, АссертионМетходс.скуаре (7), () ->"Ваше квадратне вредности се не подударају.");
}
}

Метод тестСкуаре() користи три варијације ассертЕкуалс() за тестирање методе скуаре(). Сваки ассертЕкуалс() је успешан, пошто се све очекиване вредности поклапају са стварним вредностима које је вратио метод скуаре().

Метод ассертНулл

Класа ЈУнит Ассертионс има тачно три ассертНулл методе. Свака од ових метода узима један или више аргумената и потврђује да ли је дати објекат нулл. Ако дати објекат није нулл, онда тест неће успети.

@Тест
јавностипразнинатестСтрингВалуе(){
Низ стрингВалуе = нула;
ассертНулл (стрингВалуе);
ассертНулл (стрингВалуе, "Ваша вредност стринга није нула");
ассертНулл (стрингВалуе, () ->"Ваша вредност стринга није нула");
}

Први ассертНулл() метод узима стринг објекат и проверава да ли је нулл. Други метод ассертНулл() узима стринг објекат и поруку стринга за приказ ако тест не успе. Трећа и последња метода ассертНулл() узима објекат који желите да процените и функционални интерфејс добављача.

У тестном случају изнад, интерфејс добављача делује као циљ доделе за ламбда израз. Ламбда израз генерише поруку о грешци ако тест не успе.

Метода ассертТруе

Метод ассертТруе() има шест варијација. Сваки метод потврђује да ли је дати услов тачан. Ако је услов ассертТруе() лажан, тест неће успети.

@Тест
празнинатестЕвенНумберс(){
инт број1 = 10;
инт нум2 = 16;
инт нум3 = 26;
ассертТруе (број 1 < нум2);
ассертТруе (бр.3 > број2, "Ваше стање није тачно.");
ассертТруе (број 1 < нум3, () ->" Ваше стање није тачно.");
ассертТруе(() -> нум1%2 == 0);
ассертТруе(() -> број2%2 == 0, "Ваша вредност није паран број.");
ассертТруе(() -> нум3%2 == 0, () ->"Ваша вредност није паран број.");
}

Метода тестЕвенНумберс() показује како се користи свих шест метода ассертТруе(). Све горе наведене методе су тачне, стога се овај тест јединице извршава без грешке или грешке.

  • ассертТруе (Боолеан услов): овај метод узима Булов услов и потврђује да ли је истинит. Пример ове методе у коду изнад потврђује да ли је прва целобројна вредност мања од друге.
  • ассертТруе (Боолеан услов, Стринг порука): овај метод узима Булов услов за тестирање и стринг за приказ ако је нетачан.
  • ассертТруе (Боолеан услов, добављач мессагеСупплиер): овај метод узима Боолеан и Супплиер функционални интерфејс, као ламбда израз. Добављач поруке садржи стринг за приказ ако је Булов услов нетачан.
  • ассертТруе (БоолеанСупплиер боолеанСупплиер): овај метод узима функционални интерфејс БоолеанСупплиер, у облику ламбда израза који се процењује на тачно или нетачно. Пример ове методе у коду користи ламбда израз. Тестира остатак првог целог броја подељен са два да би утврдио да ли је паран или непаран.
  • ассертТруе (БоолеанСупплиер боолеанСупплиер, Стринг порука): овај метод узима функционални интерфејс БоолеанСупплиер у облику ламбда израза. Такође је потребна порука стринга за штампање ако БоолеанСупиер није тачан.
  • ассертТруе (БоолеанСупплиер боолеанСупплиер, Супплиер мессагеСупплиер): овај метод користи функционални интерфејс БоолеанСупплиер за потврду. Такође узима функционални интерфејс добављача, који је ламбда израз који ће одштампати вредност стринга ако тест не успе.

Метода ассертФалсе

Метода ассертФалсе() је супротна од методе ассертТруе(). Овај метод процењује дати услов да види да ли је нетачан. Ако је дати услов тачан, тест ассертФалсе() неће успети. Метод ассертФалсе() такође има шест варијација које прихватају исте аргументе као и њихове колеге ассертТруе().

@Тест
празнинатестНотЕвенНумберс(){
инт број1 = 11;
инт нум2 = 17;
инт нум3 = 27;
ассертФалсе (број 2 < нум1);
ассертФалсе (број 2 > нум3, " Ваше стање није лажно.");
ассертФалсе (бр.3 < број1, () ->" Ваше стање није лажно.");
ассертФалсе(() -> нум1%2 == 0);
ассертФалсе(() -> број2%2 == 0, "Ваша вредност је паран број.");
ассертФалсе(() -> нум3%2 == 0, () ->"Ваша вредност је паран број.");
}

Шест метода ассертФалсе() у методи тестНотЕвенНумберс() резултирају са фалсе, што значи да су тестови ассертФалсе() успешни.

Предности јединичног тестирања

Јединично тестирање је саставни део процеса развоја софтвера. Велики софтверски пројекти пропадају из различитих разлога, од тимова који раде на њима до развојних приступа.

Сврха тестирања јединица је да елиминише грешку у софтверу пружањем раног откривања грешака. Ово захтева од тимова да развију јасне спецификације, побољшају дизајн софтвера кроз документацију о грешкама и обезбеде подршку за одржавање софтвера.

Јединично тестирање није једини приступ тестирању софтвера који треба да користите у свом развојном животном циклусу, то је само веома добро место за почетак.