Давач података & амп; ТестНГ КСМЛ: Параметрирање у селену (пример)

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

Параметризација у селену

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

У овом упутству ћете научити-

  • Тип параметризације у ТестНГ-
  • Означавање параметара помоћу Тестнг.кмл
  • Решавање проблема
  • Параметри који користе Датапровидер
  • Позовите ДатаПровидер из друге класе
  • Врсте параметара у добављачу података

Тип параметризације у ТестНГ-

Да би параметризација била јаснија, проћи ћемо кроз опције параметризације у једном од најпопуларнијих оквира за Селениум Вебдривер - ТестНГ .

Постоје два начина на која можемо постићи параметризацију у ТестНГ-у

  1. Уз помоћ анотације Параметерс и ТестНГ КСМЛ датотеке.

  2. Уз помоћ анотације ДатаПровидер .

Параметри из Тестнг.кмл могу бити ниво скупа или тест

Параметар из ДатаПровидер-а може узети параметар Метход и ИТестЦонтект.

Проучимо их детаљно -

Напомена параметара у ТестНГ

Напомена параметара у ТестНГ је метода која се користи за прослеђивање вредности методама испитивања као аргумената помоћу .кмл датотеке. Од корисника се може тражити да предају вредности методама испитивања током времена извођења. Метода означавања @Параметерс може се користити у било којој методи која има ознаке @Тест, @Бефоре, @Афтер или @Фацтори.

Означавање параметара помоћу Тестнг.кмл

Изаберите параметризацију помоћу напомена када желите да се бавите сложеношћу и број комбинација уноса је мањи.

Да видимо како ово функционише

Тест Сценарио

Корак 1) Покрените прегледач и идите на Гоогле.цом

Корак 2) Унесите кључну реч за претрагу

Корак 3) Проверите да ли је унета вредност иста као она дата у нашим тест подацима

Корак 4) Понављајте 2 и 3 док се не унесу све вредности

Аутор теста СеарцхКеи
Гуру99 Индија
Крисхна сад
Бупеш Кина

Ево примера како то учинити БЕЗ параметара

параметри пакета;импорт орг.тестнг.аннотатионс.Тест;импорт орг.тестнг.АссертЈУнит;импорт јава.утил.цонцуррент.ТимеУнит;импорт орг.опенка.селениум.Би;импорт орг.опенка.селениум.ВебДривер;импорт орг.опенка.селениум.ВебЕлемент;импорт орг.опенка.селениум.фирефок.ФирефокДривер;јавна класа НоПараметерВитхТестНГКСМЛ {Стринг дриверПатх = "Ц: \\ гецкодривер.еке";Управљачки програм за ВебДривер;@Тестпублиц воид тестНоПараметер () баца ИнтерруптедЕкцептион {Аутор низа = "гуру99";Стринг сеарцхКеи = "индија";Систем.сетПроперти ("вебдривер.гецко.дривер", дриверПатх);дривер = нови ФирефокДривер ();дривер.манаге (). тимеоутс (). имплицитноВаит (10, ТимеУнит.СЕЦОНДС);дривер.гет ("хттпс://гоогле.цом");ВебЕлемент сеарцхТект = дривер.финдЕлемент (Би.наме ("к"));// Претраживање текста у гоогле текстуалном оквирусеарцхТект.сендКеис (сеарцхКеи);Систем.оут.принтлн ("Добродошли ->" + аутор + "Ваш кључ за претрагу је ->" + кључ претраживања);Систем.оут.принтлн („Тема ће сада спавати“);Тхреад.слееп (3000);Систем.оут.принтлн ("Вредност у Гоогле пољу за претрагу =" + сеарцхТект.гетАттрибуте ("вредност") + "::: Вредност дата инпут =" + сеарцхКеи);// верификација вредности у гоогле пољу за претрагуАссертЈУнит.ассертТруе (сеарцхТект.гетАттрибуте ("валуе"). ЕкуалсИгнореЦасе (сеарцхКеи));}}

Студија, горњи пример. Замислите колико ће сложен код постати сложен када то урадимо за 3 комбинације уноса

Хајде сада да параметеризујемо ово помоћу ТестНГ-а

Да бисте то урадили, мораћете

  • Направите КСМЛ датотеку која ће чувати параметре
  • У тесту додајте напомену @Параметерс

Ево комплетног кода

Тест Левел ТестНГ.кмл

<суите наме = "ТестСуите" тхреад-цоунт = "3"><име параметра = "аутор" вредност = "Гуру99" /><име параметра = "сеарцхКеи" валуе = "Индиа" /><тест наме = "тестГуру"><име параметра = "сеарцхКеи" валуе = "УК" /><класе><цласс наме = "параметерс.ПараметерВитхТестНГКСМЛ">

ПараметерВитхТестНГКСМЛ.јава датотека

параметри пакета;импорт орг.тестнг.АссертЈУнит;импорт јава.утил.цонцуррент.ТимеУнит;импорт орг.опенка.селениум.Би;импорт орг.опенка.селениум.ВебДривер;импорт орг.опенка.селениум.ВебЕлемент;импорт орг.опенка.селениум.фирефок.ФирефокДривер;импорт орг.тестнг.аннотатионс.О оптионал;импорт орг.тестнг.аннотатионс.Параметерс;импорт орг.тестнг.аннотатионс.Тест;јавна класа ПараметерВитхТестНГКСМЛ {Стринг дриверПатх = "Ц: \\ гецкодривер.еке";Управљачки програм за ВебДривер;@Тест@Параметерс ({"аутхор", "сеарцхКеи"})публиц воид тестПараметерВитхКСМЛ (@Оптионал ("Абц") Аутор низа, Стринг сеарцхКеи) баца ИнтерруптедЕкцептион {Систем.сетПроперти ("вебдривер.гецко.дривер", дриверПатх);дривер = нови ФирефокДривер ();дривер.манаге (). тимеоутс (). имплицитноВаит (10, ТимеУнит.СЕЦОНДС);дривер.гет ("хттпс://гоогле.цом");ВебЕлемент сеарцхТект = дривер.финдЕлемент (Би.наме ("к"));// Претраживање текста у гоогле текстуалном оквирусеарцхТект.сендКеис (сеарцхКеи);Систем.оут.принтлн ("Добродошли ->" + аутор + "Ваш кључ за претрагу је ->" + кључ претраживања);Систем.оут.принтлн („Тема ће сада спавати“);Тхреад.слееп (3000);Систем.оут.принтлн ("Вредност у Гоогле пољу за претрагу =" + сеарцхТект.гетАттрибуте ("вредност") + "::: Вредност дата инпут =" + сеарцхКеи);// верификација вредности у гоогле пољу за претрагуАссертЈУнит.ассертТруе (сеарцхТект.гетАттрибуте ("валуе"). ЕкуалсИгнореЦасе (сеарцхКеи));}}

Упутства за покретање скрипте, изаберите КСМЛ датотеку и покрените као Тест НГ Суите

Кликните десним тастером миша на .кмл датотеку -> Покрени као -> Тестнг Суите (Напомена: Суите)

Сада се параметри могу дефинисати на 2 нивоа

  1. Суите ниво - Параметри унутар <суите> ознаке ТестНГ КСМЛ датотеке биће параметар нивоа суите.
  2. Тест Левел - Параметри унутар ознаке <Тест> за тестирање КСМЛ датотеке биће параметар Тест левел.

Ево истог теста са параметрима нивоа пакета

НАПОМЕНА: У случају да је име параметра исто на нивоу пакета и на нивоу теста, тада ће параметар нивоа теста имати предност у односу на ниво пакета. Дакле, у том случају ће све класе унутар тог нивоа тестирања делити надјачани параметар, а остале класе које се налазе изван нивоа тестирања делиће параметар нивоа Суите.

Решавање проблема

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

Размотрите следећи пример

Овде је атрибут 'аутхор' једнак 'Гуру99' који је низ и у одговарајућој тест методи очекује целу вредност, па ћемо овде добити изузетак.

2. издање Ваши @Параметри немају одговарајућу вредност у тестинг.кмл.

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

3. издање: Желите да тестирате више вредности истог параметра помоћу Тестнг.кмл

Једноставан одговор је да се то не може учинити! Можете имати више различитих параметара, али сваки параметар може имати само једну вредност. Ово помаже у спречавању вредности хард кодирања у скрипти. Ово чини код вишекратним. Схватите то као конфигурационе датотеке за вашу скрипту. Ако желите да користите више вредности за параметар, користите ДатаПровидерс

Добављач података у ТестНГ

Добављач података у ТестНГ је метода која се користи када корисник треба да проследи сложене параметре. Комплексне параметре треба креирати на Јави, попут сложених објеката, објеката из датотека својстава или из базе података који се могу проследити методом добављача података. Метод је означен @ДатаПровидер и враћа низ објеката.

Параметри који користе Датапровидер

Анотација @Параметерс је једноставна, али за тестирање са више скупова података потребан нам је добављач података.

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

Ови подаци дривен концепт се постиже @ДатаПровидер напомена у ТестНГ.

Има само један атрибут „име“ . Ако не наведете атрибут наме, тада ће име ДатаПровидер-а бити исто као и одговарајуће име методе.

Добављач података враћа дводимензионални ЈАВА објекат на методу испитивања и метода испитивања ће позвати М пута у М * Н типу објеката. На пример, ако ДатаПровидер врати низ од 2 * 3 објекта, одговарајући тестцасе ће се позивати 2 пута са 3 параметра сваки пут.

Комплетан пример

параметри пакета;импорт јава.утил.цонцуррент.ТимеУнит;импорт орг.опенка.селениум.Би;импорт орг.опенка.селениум.ВебДривер;импорт орг.опенка.селениум.ВебЕлемент;импорт орг.опенка.селениум.фирефок.ФирефокДривер;импорт орг.тестнг.Ассерт;импорт орг.тестнг.аннотатионс.БефореТест;импорт орг.тестнг.аннотатионс.ДатаПровидер;импорт орг.тестнг.аннотатионс.Тест;јавна класа ПараметерБиДатапровидер {Управљачки програм за ВебДривер;Стринг дриверПатх = "Ц: \\ гецкодривер.еке";@БефореТестподешавање јавне празнине () {// Стварање објекта управљачког програма за ФирефокСистем.сетПроперти ("вебдривер.гецко.дривер", дриверПатх);дривер = нови ФирефокДривер ();дривер.манаге (). тимеоутс (). имплицитноВаит (10, ТимеУнит.СЕЦОНДС);дривер.гет ("хттпс://гоогле.цом");}/ ** Тест случај за верификацију Гоогле оквира за претрагу* @парам аутор* @парам сеарцхКеи* @тхровс ИнтерруптедЕкцептион* /@Тест (датаПровидер = "СеарцхПровидер")публиц воид тестМетход (Аутор низа, Стринг сеарцхКеи) баца ИнтерруптедЕкцептион {{ВебЕлемент сеарцхТект = дривер.финдЕлемент (Би.наме ("к"));// претрага вредности у гоогле претраживачсеарцхТект.сендКеис (сеарцхКеи);Систем.оут.принтлн ("Добродошли ->" + аутор + "Ваш кључ за претрагу је ->" + кључ претраживања);Тхреад.слееп (3000);Стринг тестВалуе = сеарцхТект.гетАттрибуте ("валуе");Систем.оут.принтлн (тестВалуе + ":::: + кеиКеи);сеарцхТект.цлеар ();// Проверите да ли је вредност у оквиру за претрагу Гоогле тачнаАссерт.ассертТруе (тестВалуе.екуалсИгнореЦасе (сеарцхКеи));}}/ *** @ретурн Објецт [] [] где прва колона садржи „аутора“* и друга колона садржи „сеарцхКеи“* /@ДатаПровидер (наме = "СеарцхПровидер")јавни објект [] [] гетДатаФромДатапровидер () {врати нови објекат [] []{{"Гуру99", "Индија"},{"Крисхна", "УК"},{"Бупеш", "САД"}};}}

Позовите ДатаПровидер из друге класе

Подразумевано, ДатаПровидер се налази у истој класи где је тест метода или њена основна класа. Да бисмо га ставили у неку другу класу, метод добављача података морамо учинити статичним, а у тест методу треба додати атрибут датаПровидерЦласс у @ Тест анотацију.

Пример кода

ТестЦласс ПараметерДатапровидерВитхЦлассЛевел.јава

параметри пакета;импорт јава.утил.цонцуррент.ТимеУнит;импорт орг.опенка.селениум.Би;импорт орг.опенка.селениум.ВебДривер;импорт орг.опенка.селениум.ВебЕлемент;импорт орг.опенка.селениум.фирефок.ФирефокДривер;импорт орг.тестнг.Ассерт;импорт орг.тестнг.аннотатионс.БефореТест;импорт орг.тестнг.аннотатионс.Тест;јавна класа ПараметерДатапровидерВитхЦлассЛевел {Управљачки програм за ВебДривер;Стринг дриверПатх = "Ц: \\ гецкодривер.еке";@БефореТестподешавање јавне празнине () {Систем.сетПроперти ("вебдривер.гецко.дривер", дриверПатх);дривер = нови ФирефокДривер ();дривер.манаге (). тимеоутс (). имплицитноВаит (10, ТимеУнит.СЕЦОНДС);дривер.гет ("хттпс://гоогле.цом");}@Тест (датаПровидер = "СеарцхПровидер", датаПровидерЦласс = ДатапровидерЦласс.цласс)публиц воид тестМетход (Аутор низа, Стринг сеарцхКеи) баца ИнтерруптедЕкцептион {ВебЕлемент сеарцхТект = дривер.финдЕлемент (Би.наме ("к"));// Претраживање текста у гоогле текстуалном оквирусеарцхТект.сендКеис (сеарцхКеи);Систем.оут.принтлн ("Добродошли ->" + аутор + "Ваш кључ за претрагу је ->" + кључ претраживања);Тхреад.слееп (3000);// добивање текста из оквира за претрагуСтринг тестВалуе = сеарцхТект.гетАттрибуте ("валуе");Систем.оут.принтлн (тестВалуе + ":::: + кеиКеи);сеарцхТект.цлеар ();// проверимо да ли оквир за претрагу има тачну вредностАссерт.ассертТруе (тестВалуе.екуалсИгнореЦасе (сеарцхКеи));}}

ДатапровидерЦласс.јава

параметри пакета;импорт орг.тестнг.аннотатионс.ДатаПровидер;јавна класа ДатапровидерЦласс {@ДатаПровидер (наме = "СеарцхПровидер")јавни статички објект [] [] гетДатаФромДатапровидер () {врати нови објекат [] [] {{"Гуру99", "Индија"},{"Крисхна", "УК"},{"Бупеш", "САД"}};}}

Врсте параметара у добављачу података

Метода ДатаПровидер подржава две врсте параметара.

Метод - Ако се ИСТИ ДатаПровидер понаша другачије са различитим методама испитивања, користите параметар Метход.

У следећем примеру,

  • Проверавамо да ли је име методе тестМетходА.
  • Ако је одговор да, вратите један скуп вредности
  • Иначе враћају други скуп вредности
параметри пакета;импорт јава.ланг.рефлецт.Метход;импорт јава.утил.цонцуррент.ТимеУнит;импорт орг.опенка.селениум.Би;импорт орг.опенка.селениум.ВебДривер;импорт орг.опенка.селениум.ВебЕлемент;импорт орг.опенка.селениум.фирефок.ФирефокДривер;импорт орг.тестнг.Ассерт;импорт орг.тестнг.аннотатионс.БефореТест;импорт орг.тестнг.аннотатионс.ДатаПровидер;импорт орг.тестнг.аннотатионс.Тест;јавна класа ПараметерБиМетходИнДатапровидер {Управљачки програм за ВебДривер;Стринг дриверПатх = "Ц: \\ гецкодривер.еке";@БефореТестподешавање јавне празнине () {Систем.сетПроперти ("вебдривер.гецко.дривер", дриверПатх);дривер = нови ФирефокДривер ();дривер.манаге (). тимеоутс (). имплицитноВаит (10, ТимеУнит.СЕЦОНДС);дривер.гет ("хттпс://гоогле.цом");}@Тест (датаПровидер = "СеарцхПровидер")публиц воид тестМетходА (Аутор низа, Стринг сеарцхКеи) баца ИнтерруптедЕкцептион {ВебЕлемент сеарцхТект = дривер.финдЕлемент (Би.наме ("к"));// Претраживање текста у пољу за претрагусеарцхТект.сендКеис (сеарцхКеи);// Штампање аутора и низа претраживањаСистем.оут.принтлн ("Добродошли ->" + аутор + "Ваш кључ за претрагу је ->" + кључ претраживања);Тхреад.слееп (3000);Стринг тестВалуе = сеарцхТект.гетАттрибуте ("валуе");Систем.оут.принтлн (тестВалуе + ":::: + кеиКеи);сеарцхТект.цлеар ();// Проверите да ли гоогле оквир за текст приказује тачну вредностАссерт.ассертТруе (тестВалуе.екуалсИгнореЦасе (сеарцхКеи));}@Тест (датаПровидер = "СеарцхПровидер")јавна воид тестМетходБ (Стринг сеарцхКеи) баца ИнтерруптедЕкцептион {{ВебЕлемент сеарцхТект = дривер.финдЕлемент (Би.наме ("к"));// Претраживање текста у пољу за претрагусеарцхТект.сендКеис (сеарцхКеи);// Испис само претраживачког низаСистем.оут.принтлн ("Добродошли -> Непознати корисник Ваш кључ за претрагу је ->" + кеиКеи);Тхреад.слееп (3000);Стринг тестВалуе = сеарцхТект.гетАттрибуте ("валуе");Систем.оут.принтлн (тестВалуе + ":::: + кеиКеи);сеарцхТект.цлеар ();// Проверите да ли гоогле оквир за текст приказује тачну вредностАссерт.ассертТруе (тестВалуе.екуалсИгнореЦасе (сеарцхКеи));}}/ *** Овде ДатаПровидер враћа вредност на основу имена методе испитивања* @парам м* @ повратак** /@ДатаПровидер (наме = "СеарцхПровидер")јавни објект [] [] гетДатаФромДатапровидер (Метод м) {иф (м.гетНаме (). екуалсИгнореЦасе ("тестМетходА")) {врати нови објекат [] [] {{"Гуру99", "Индија"},{"Крисхна", "УК"},{"Бупеш", "САД"}};}елсе {врати нови објекат [] [] {{ "Канада" },{"Русија"},{"Јапан"}};}}}

Ево резултата

ИТестЦонтект - Може се користити за креирање различитих параметара за тест случајеве на основу група.

У стварном животу можете да користите ИТестЦонтект за варирање вредности параметара на основу Метода испитивања, хостова и конфигурација теста.

У следећем примеру кода

  • Имамо 2 групе А и Б
  • Свака метода испитивања додељена је групи
  • Ако је вредност групе А, враћа се одређени скуп података
  • Ако је вредност групе Б, враћа се други скуп података
параметри пакета;импорт јава.утил.цонцуррент.ТимеУнит;импорт орг.опенка.селениум.Би;импорт орг.опенка.селениум.ВебДривер;импорт орг.опенка.селениум.ВебЕлемент;импорт орг.опенка.селениум.фирефок.ФирефокДривер;импорт орг.тестнг.Ассерт;импорт орг.тестнг.ИТестЦонтект;импорт орг.тестнг.аннотатионс.БефореТест;импорт орг.тестнг.аннотатионс.ДатаПровидер;импорт орг.тестнг.аннотатионс.Тест;јавна класа ПараметерБиИТестЦонтектИнДатапровидер {Управљачки програм за ВебДривер;Стринг дриверПатх = "Ц: \\ гецкодривер.еке";@БефореТест (групе = {"А", "Б"})подешавање јавне празнине () {Систем.сетПроперти ("вебдривер.гецко.дривер", дриверПатх);дривер = нови ФирефокДривер ();дривер.манаге (). тимеоутс (). имплицитноВаит (10, ТимеУнит.СЕЦОНДС);дривер.гет ("хттпс://гоогле.цом");}@Тест (датаПровидер = "СеарцхПровидер", гроупс = "А")публиц воид тестМетходА (Аутор низа, Стринг сеарцхКеи) баца ИнтерруптедЕкцептион {{// претрага гоогле текстуалног оквираВебЕлемент сеарцхТект = дривер.финдЕлемент (Би.наме ("к"));// претражујемо вредност на њемусеарцхТект.сендКеис (сеарцхКеи);Систем.оут.принтлн ("Добродошли ->" + аутор + "Ваш кључ за претрагу је ->" + кључ претраживања);Тхреад.слееп (3000);Стринг тестВалуе = сеарцхТект.гетАттрибуте ("валуе");Систем.оут.принтлн (тестВалуе + ":::: + кеиКеи);сеарцхТект.цлеар ();// проверавамо тачну вредност у пољу за претрагуАссерт.ассертТруе (тестВалуе.екуалсИгнореЦасе (сеарцхКеи));}}@Тест (датаПровидер = "СеарцхПровидер", гроупс = "Б")јавна воид тестМетходБ (Стринг сеарцхКеи) баца ИнтерруптедЕкцептион {{// пронађи оквир за претрагу гооглеВебЕлемент сеарцхТект = дривер.финдЕлемент (Би.наме ("к"));// претражујемо вредност на њемусеарцхТект.сендКеис (сеарцхКеи);Систем.оут.принтлн ("Добродошли -> Непознати корисник Ваш кључ за претрагу је ->" + кеиКеи);Тхреад.слееп (3000);Стринг тестВалуе = сеарцхТект.гетАттрибуте ("валуе");Систем.оут.принтлн (тестВалуе + ":::: + кеиКеи);сеарцхТект.цлеар ();// проверавамо тачну вредност у пољу за претрагуАссерт.ассертТруе (тестВалуе.екуалсИгнореЦасе (сеарцхКеи));}}/ *** Овде ће ДАтаПровидер пружити низ објеката на основу ИТестЦонтект-а* @парам ц* @ повратак* /@ДатаПровидер (наме = "СеарцхПровидер")јавни објект [] [] гетДатаФромДатапровидер (ИТестЦонтект ц) {Објект [] [] гроупАрраи = нулл;фор (Стринг гроуп: ц.гетИнцлудедГроупс ()) {иф (гроуп.екуалсИгнореЦасе ("А")) {гроупАрраи = нови објекат [] [] {{"Гуру99", "Индија"},{"Крисхна", "УК"},{"Бупеш", "САД"}};пауза;}иначе ако (гроуп.екуалсИгнореЦасе ("Б")){гроупАрраи = нови објекат [] [] {{ "Канада" },{"Русија"},{"Јапан"}};}пауза;}ретурн гроупАрраи;}}

Напомена: Ако директно покренете класу тестнг, прво ће позвати добављача података који не може добити информације о групама јер групе нису доступне. Али уместо тога ако ову класу позовете путем тестнг.кмл, она ће имати информације о групама доступне са ИТестЦонтект. Користите следећи КСМЛ за позивање теста

<суите наме = "тест-параметер"><тест наме = "екампле1"><гроупс><рун><инцлуде наме = "А" /><класе><разреднаме = "параметерс.ПараметерБиИТестЦонтектИнДатапровидер" /><тест наме = "екампле2"><гроупс><рун><инцлуде наме = "Б" /><класе><разреднаме = "параметерс.ПараметерБиИТестЦонтектИнДатапровидер" />

Резиме :

  • Параметрирање је потребно за креирање тестирања на основу података .
  • ТестНГ подржава две врсте параметризације, користећи @ Параметер + ТестНГ.кмл и користећи @ ДатаПровидер
  • У @ Параметер + ТестНГ.кмл параметри се могу поставити на ниво пакета и ниво теста. Ако

    На оба места је декларисано исто име параметра; параметар тест нивоа ће добити предност над параметром нивоа одеће.

  • помоћу @ Параметер + ТестНГ.кмл одједном се може поставити само једна вредност, али @ДатаПровидер враћа 2д низ Објецт .
  • Ако је ДатаПровидер присутан у другој класи, онда класа у којој се налази тест метода, ДатаПровидер би требало да буде статичка метода .
  • Постоје два параметра подржава ДатаПровидер се метод и ИТестЦонтект.

Занимљиви Чланци...