ТестНГ вс ЈУнит: Која је разлика?

Преглед садржаја:

Anonim

И Тестнг и Јунит су оквир за тестирање који се користи за јединствено тестирање. ТестНГ је сличан ЈУнит-у. Додато му је још неколико функционалности које чине ТестНГ моћнијим од ЈУнит-а.

Овај водич је углавном фокусиран на анализу карактеристика ЈУнит-а и ТестНГ-а. Помаже програмерима да одлуче који оквир треба користити за јединствено тестирање. Хајде да прво анализирамо сличности између ТестНГ и ЈУнит4.

ТестНГ је оквир за тестирање инспирисан ЈУнит-ом и НУнит-ом.

Ево табеле која приказује функције које подржавају ЈУнит и ТестНГ.

Поређење карактеристика ЈУнит4 и ТестНГ

И ТестНГ и ЈУнит4 изгледају слично, осим једне или две функције. Хајде да направимо поређење између њих две да бисмо брзо одлучили која технологија је повољнија за јединствено тестирање. Испод табеле су истакнуте функције које подржавају обе:

Биљешке

И ЈУнит и ТестНГ користе напомене и готово све напомене изгледају слично.

ТестНГ користи @БефореМетход, @ АфтерМетход слично @Бефоре, @ Афтер у ЈУнит4.

И ТестНГ и Јунит4 користе @Тест (тимеоут = 1000) за тимеоут. Проверите табелу испод за више детаља-

СН Опис ТестНГ ЈУНИТ 4
1 Тест ноте @Тест @Тест
2 Извршава се пре него што се у тренутној класи позове прва метода испитивања @Пре наставе @Пре наставе
3 Извршава се након свих метода испитивања у тренутној класи @После часа @После часа
4 Извршава се пре сваке методе испитивања @БефореМетход @Пре него што
5 Извршава се након сваке методе испитивања @АфтерМетход @После
6 напомена за игнорисање теста @Тест (енабле = фалсе) @игноре
7 напомена за изузетак @Тест (очекује сеЕкцептионс = АритхметицЕкцептион.цласс) @Тест (очекује се = АритхметицЕкцептион.цласс)
8 пауза у утакмици @Тест (тимеоут = 1000) @Тест (тимеоут = 1000)
9 Извршава се пре свих тестова у пакету @БефореСуите н / а
10 Извршава се након свих тестова у пакету @АфтерСуите н / а
11 Извршава се пре покретања теста @БефореТест н / а
12 Извршава се након пробног рада @АфтерТест н / а
13 Извршава се пре него што се позове прва метода испитивања која припада било којој од ових група @БефореГроупс н / а
14 покрените после последњег метода испитивања који припада било којој од овде наведених група @АфтерГроупс н / а

Суите Тест

Пакети се користе за заједничко извршавање више тестова. Пакети се могу креирати користећи ТестНГ и ЈУнит4. Међутим, апартмани су моћнији у ТестНГ-у јер користи врло различите методе за извршавање тестова. Хајде да то разумемо користећи фрагмент кода како је дато у наставку:

Коришћење ЈУнит4

Испод класа описује употребу суите-а током рада са ЈУнит4:

пакет гуру99.јунит;импорт орг.јунит.руннер.РунВитх;импорт орг.јунит.руннерс.Суите;@РунВитх (Суите.цласс)@ Суите.СуитеЦлассес ({СуитеТест1.цласс,СуитеТест2.цласс,})јавна класа ЈунитТест {// Ова класа остаје празна, користи се само као држач за горе наведене напомене}

Коришћење ТестНГ-а

ТестНГ користи кмл за групирање свих тестова на једном месту. Испод кмл описује употребу пакета током рада са ТестНГ:

<суите наме = "Мој тестни пакет"><тест наме = "тестинг"><класе><цласс наме = "цом.гуру99.СуитеТест1" /><цласс наме = "цом.гуру99.СуитеТест2" />

Занемари тест

Коришћењем оба можемо прескочити тест. Погледајмо га на примеру кода како је дато у наставку:

Коришћење ЈУнит4

Испод исечка кода описује употребу @игноре напомене током рада са ЈУнит4:

@Игноришиметода јавне празнине1 (){Систем.оут.принтлн ("Коришћење @Игноре, ово извршење се занемарује");}

Коришћење ТестНГ-а

Испод исечка кода описује употребу @Тест (енаблед = фалсе) напомене током рада са ТестНГ:

@Тест (омогућено = нетачно)јавна празнина ТестВитхЕкцептион (){Систем.оут.принтлн („Метод треба занемарити јер још није спреман“);}

Тест изузетка

Тестирање изузетака је доступно и у ТестНГ и ЈУнит4. Користи се за проверу, који изузетак је избачен из теста?

Коришћење ЈУнит4

Испод исечка кода описује употребу теста за изузеће током рада са ЈУнит4:

@Тест (очекује се = АритхметицЕкцептион.цласс)јавна празнина дивидеБиЗеро (){Инт и = 1/0;}

Коришћење ТестНГ-а

Испод исечка кода описује употребу теста за изузеће током рада са ТестНГ:

@Тест (очекује сеЕкцептионс = АритхметицЕкцептион.цласс)јавна празнина дивидеБиЗеро (){Инт и = 1/0;}

Пауза у утакмици

Ова функција је примењена у ТестНг и ЈУнит4.Тимеоут се користи за прекид теста који траје дуже од одређеног времена (у милисекундама).

Коришћење ЈУнит4

Испод исечка кода описује употребу временског ограничења током рада са ЈУнит4:

@Тест (тимеоут = 1000)метода јавне празнине1 (){док (тачно);}

Коришћење ТестНГ-а

Испод исечка кода описује употребу тимеоут теста током рада са ТестНГ:

@Тест (тимеОут = 1000)метода јавне празнине1 (){док (тачно);}

Параметарски тест

ЈУнит пружа лакши и читљивији приступ тесту познат као Параметарски тест. И ТестНГ и ЈУнит подржавају параметризовани тест, али се разликују у начину на који дефинишу вредност параметра. Да видимо ово једно по једно.

Коришћење ЈУнит4

Ознаке „@РунВитх“ и „@Параметер“ се користе за обезбеђивање вредности параметра за јединствени тест. Напомена @Параметерс мора вратити Лист []. Овај параметар ће бити прослеђен у конструктор класе као аргумент.

@РунВитх (валуе = Параметеризед.цласс)јавна класа ЈунитТест {приватеинт број;јавни ЈунитТест6 (инт број){тхис.нумбер = број;}@Параметерсјавна статичка колекција <Објецт []> података (){Подаци о објекту [] [] = нови објект [] [] {{1}, {2}, {3}, {4}};ретурнАрраис.асЛист (подаци);}@Тестпублиц воид параметерТест (){Систем.оут.принтлн ("Параметарски број је: + број);}}

Коришћење ТестНГ-а

У ТестНГ, КСМЛ датотека или „@ДатаПровидер“ се користи за обезбеђивање параметра за тестирање.

Овде је ознака @Параметерс декларисана у методи потребна за тестирање. Подаци коришћени као параметар пружаће се у КСМЛ конфигурационим датотекама ТестНГ-а. Радећи ово, можемо поново користити један тест случај са различитим скуповима података и можемо добити различите резултате.

јавни разред Тест1 {@Тест@Параметерс (валуе = "нумбер")публиц воид параметерТест (инт број){Систем.оут.принтлн ("Параметарски број је: + број);}}

Погледајте испод кмл датотеку која ће се користити за горњу класу:

<суите наме = "Мој тестни пакет"><тест наме = "тестинг"><име параметра = "број" вредност = "2" /><класе><цласс наме = "цом.гуру99.Тест1" />

Резиме:

Детаљно смо видели поређење ЈУнит4 и ТестНГ. Такође смо видели да су оба слична, осим параметризованог теста и теста зависности. Укратко, можемо рећи, на основу флексибилности и захтева, можемо одабрати било који од њих за јединствено тестирање.