ЈУнит параметарски тест са примером помоћу @Параметерс

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

Anonim

Шта је параметарски тест у Јуниту?

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

Коришћењем параметризованог теста може се поставити метода испитивања која преузима податке из неког извора података.

Размотрите једноставан тест за сумирање различитих бројева. Код може изгледати као -

Горе наведени приступ доводи до великог вишка.

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

Кораци за креирање параметарског ЈУнит теста

Следећи код приказује пример за параметризовани тест. Тестира се метода сум () класе Аритметика:

Корак 1) Направите класу. У овом примеру ћемо унети два броја методом сум (инт, инт) која ће вратити збир задатих бројева

Корак 2) Направите параметарску класу теста

Објашњење кода

  • Линија кода 11: Означите тест класу помоћу @рунВитх (Параметеризед.цласс).
  • Линија кода 13: Проглашавање променљиве „фирстНумбер“ приватном, а типа инт.
  • 14. ред ретка : Проглашавање променљиве „сецондНумбер“ приватном и упишите као инт.
  • Редак кода 15: Проглашавање променљиве „очекивани резултат“ приватном и упишите као инт.
  • Кодни ред 16: Проглашавање променљиве „аиртхематиц“ приватном и врсте као Аиртхематиц.

@РунВитх (име_класе.класа): Ознака @РунВитх се користи за специфицирање имена класе тркача. Ако не одредимо ниједан тип као параметар, рунтиме ће подразумевано изабрати БлоцкЈунит4ЦлассРуннер .

Ова класа је одговорна за покретање тестова са новом тестном инстанцом. Одговорна је за позивање метода животног циклуса ЈУнит, као што су подешавање (придружени ресурси) и уклањање (ресурси издавања).

Да бисте параметеризовали, потребно је да додате коментаре помоћу @РунВитх и положите потребан .цласс који треба тестирати

Корак 3) Направите конструктор који чува тест податке. У њему се чувају 3 променљиве

Корак 4) Направите статички метод који генерише и враћа податке о тестирању.

Линија кода 32,33: Стварање дводимензионалног низа (пружање улазних параметара за сабирање). Користећи асЛист метод, податке претварамо у тип Листа. Будући да је повратни тип уноса методе прикупљање.

Ред 30: Коришћење ознаке @ Параметерс за креирање скупа улазних података за покретање нашег теста.

Статичка метода идентификована ознаком @Параметерс враћа колекцију где ће сваки унос у збирци бити улазни подаци за једну итерацију теста.

Размотримо елеменент

{1,2,3}

Ево

фирстНумбер = 1

сецондНумбер = 2

очекивани резултат = 3

Овде ће сваки елемент низа бити прослеђен конструктору, један по један, јер се класа инстанцира више пута.

Корак 5) Комплетна шифра

Објашњење кода:

  • Линија кода 25: Коришћење ознаке @Бефоре за подешавање ресурса (овде је Аиртхематиц.цласс). Овде се користи напомена @Бефоре за покретање пре сваког тест случаја. Садржи предуслов теста.
  • Кодни ред 36: Коришћење ознаке @Тест за креирање нашег теста.
  • Линија 39: Стварање изјаве за потврду да бисмо проверили да ли је наш збир еквивалентан ономе што смо очекивали.

Корак 6) Направите класу тест тркача за покретање параметризованог теста:

Објашњење кода:

  • Кодни ред 8: Проглашавање главне методе класе која ће покретати наш тест ЈУнит.
  • Линија 9: Извршење тест случајева помоћу ЈунитЦоре.рунцлассес, узеће име класе теста као параметар (у нашем примеру користимо Аиртхематиц.цласс).
  • Линија кода 11: Обрада резултата помоћу фор фор и испис неуспелог резултата.
  • Шифра 13: Штампање успешног резултата.

Излаз:

Ево излаза који показује успешан тест без трага отказа како је дато у наставку:

Погледајте резултат на конзоли која показује сабирање два броја: -

Резиме :

Параметарски тест омогућава програмеру да изводи исти тест изнова и изнова користећи различите вредности.

Важне напомене које ће се користити током параметризације

  • @РунВитх
  • @Параметерс