what is junit test fixture
Овај водич ће вам објаснити када, зашто и како користити ЈУнит Тест Фиктуре са једноставним примерима ЈУнит Тест Фиктуре за ваше лако разумевање концепта:
Научићемо -
- Када и зашто имамо потребу да користимо Тест Фиктуре?
- Који је приступ за употребу у нашем коду за ЈУнит тест?
- Неколико примера за разумевање појма „Тест Фиктуре“ паралелно каскадно започето у напоменама о животном циклусу ЈУнит 4, као што су @Бефоре, @Афтер, @БефореЦласс, @АфтерЦласс и @Тест.
=> Овде погледајте СВЕ Водиче за ЈУнит.
Шта ћете научити:
ЈУнит Тест Фиктуре
Када постоји више тест случајева у класи ЈУнит, могу постојати заједнички објекти или објекти које користе сви тест случајеви. У овом случају, могу постојати одређене функције које би могле бити заједничке у свим тест случајевима.
То не значи да испитни објекти морају да се деле у свим тест случајевима. Промена објекта извршена у једном тесту не мора се делити са свим тестовима, јер су ови тестови независни и могу се извршити у другом редоследу према њиховом приоритетном скупу.
.нет питање и одговори на интервју
Холистичко разумевање термин „Тест Фиктуре“ је фиксно стање у коду или скуп фиксних корака у коду који се користи као предуслов и неколико других скупова корака који се користе као постуслов за сва испитивања.
Дакле, другим речима, идентификујемо оне скупове изјава који ће се поновити за све тестове и на тај начин покушати да поставимо фиксно окружење за извршавање наших метода испитивања.
Тхе сврха Коришћење Тест Фиктуре-а је уклањање дуплирања заједничког кода за све тест случајеве.
копирај низ у други низ низа јава
Покушајмо да разумемо практичну примену пробе за тестирање у ЈУнит тесту.
метода сетУп ()
- Постоје тестови којима је потребна иницијализација одређених објеката (стринг, интегер или АрраиЛист или било који други објекат). Можете створити метод јавна воид поставка () у којем бисте могли декларирати варијабле инстанце за уобичајене објекте. Поставите ову методу сетУп () испод напомене @Пре него што . Са напоменом @Бефоре, фрамеворк ће покренути методу сетУп () пре сваког извршења тест случаја.
- Метода сетУп () такође се може користити у случају да желите да покренете прегледач са одређеном УРЛ адресом као први корак у покретању пробног случаја који следи пријављивање у апликацију са унапред дефинисаним акредитивима.
метода теарДовн ()
- Ако сте у тесту доделили спољне ресурсе, не заборавите да ослободите и ресурсе. Метода уклањања () може се додати за чишћење објеката након завршетка извршења тест случаја. Додајте метод на сличан начин као метода сетУп () раскидање јавне празнине () испод @После Анотација. ЈУнит фрамеворк осигурава да се након сваког покретања тест случаја, метода под @Афтер сигурно изврши. Објекти коришћени у тесту морају бити постављени на НУЛЛ у методи теардовн () тако да се смеће са тестова сакупља.
- Још један добар кандидат за чишћење објеката је убијање прегледача у акцији након завршетка тест случаја и ослобађање меморије уништавањем коришћених објеката.
- Имена метода сетУп () и теарДовн () су само корисничко дефинисано име. Можете поставити било које име методе које желите. Редослед извођења тестова одређује само напомене које се користе уз методу.
Примери ЈУнит тестова
У овом одељку ћемо проћи кроз два примера теста ЈУнит 4 и покушати да разумемо како да користимо приступ Тест Фиктурес у нашем коду заједно са редоследом различитих напомена о животном циклусу @Бефоре, @Афтер, @БефореЦласс, @АфтерЦласс, и @Тест.
Наравно, постојаће засебан водич о напоменама који ће разјаснити шта су то и како свака од напомена функционише. Од сада, придржавајмо се разумевања коришћења Тест Фиктуре у коду.
Тест ЈУнит 4 - Пример 1
У овом примеру ћемо имати испитна тела у класи са три тест случаја. Метода сетУп () са анотацијом @Бефоре и метода теарДовн () са анотацијом @Афтер.
Шифра:
package demo.tests; import static org.junit.Assert.*; import org.junit.After; import org.junit.Before; import org.junit.Test; public class JUnitProgram { @Before public void setUp() { System.out.println('_______________________________________________________
'); System.out.println('This is the setUp() method that runs before each testcase'); } @Test public void test_JUnit1() { System.out.println('This is the testcase test_JUnit1() in this class'); } @Test public void test_JUnit2() { System.out.println('This is the testcase test_JUnit2() in this class'); } @Test public void test_JUnit3() { System.out.println('This is the testcase test_JUnit3() in this class'); } @After public void tearDown() { System.out.println('This is the tearDown() method that runs after each testcase'); System.out.println('_______________________________________________________
'); } }
Резултат прозора конзоле биће приказан доле:
Прозор конзоле јасно показује да се пре сваког пробног покретања извршава метода сетУп (), а након завршетка сваког теста покреће се метода теарДовн ().
Дакле, редослед извршавања по напомени за сваку методу испитивања је:
- @Пре него што
- @Тест
- @После
Имајте на уму да су се тестови овде извршавали у секвенцијалном редоследу, тј. Тест_ЈУнит1 (), тест_ЈУнит2 (), тест_ЈУнит3 (), није утврђена секвенца за тест, па се они могу извршавати у било ком редоследу. Сваки тест је изолован од другог теста.
ЈУнит 4 тест - пример 2
Ево, хајде да брзо видимо како можемо да имамо методу која се покреће први пут у класи и другу методу која се извршава једном након извршавања свих тестова за класу.
Шифра:
package demo.tests; import static org.junit.Assert.*; import org.junit.After; import org.junit.Before; import org.junit.Test; public class JUnitProgram { @BeforeClass public static void preClass() { System.out.println('This is the preClass() method that runs one time before the class'); } @Before public void setUp() { System.out.println('_______________________________________________________
'); System.out.println('This is the setUp() method that runs before each testcase'); } @Test public void test_JUnit1() { System.out.println('This is the testcase test_JUnit1() in this class'); } @Test public void test_JUnit2() { System.out.println('This is the testcase test_JUnit2() in this class'); } @Test public void test_JUnit3() { System.out.println('This is the testcase test_JUnit3() in this class'); } @After public void tearDown() { System.out.println('This is the tearDown() method that runs after each testcase'); System.out.println('_______________________________________________________
'); } @AfterClass public static void postClass() { System.out.println('This is the postClass() method that runs one time after the class'); } }
Додали смо методу преЦласс () у напомену @БефореЦласс. Ова метода се изводи само једном за класу пре извршења теста. Изводи се чак и пре него што се изврши метода под @Бефоре.
ПостЦласс () метода у @АфтерЦласс напомени се покреће једном на крају када се изврше и заврше сви тестови, укључујући тест под @Афтер.
Редослед пробног рада је следећи:
- @Пре наставе
- @Пре него што
- @Тест
- @После
- @После часа
Методе под @БефореЦласс и @АфтерЦласс обично деле класа, због чега ако методе нису декларисане као статички онда даје ан грешка иницијализације на извршењу теста.
које је корисничко име и лозинка мог рутера
Погледајте доњи снимак екрана, где нисмо поставили методу преЦласс () под ознаком @БефореЦласс као статички и тиме је тест погрешио у извршењу.
Можда ћете видети резултат који показује грешку иницијализације која би могла бити елиминисана означавањем методе као статичне. Исто важи и за методу постЦласс () под ознаком @АфтерЦласс.
Закључак
Покушали смо да поставимо контекст за добре програмске праксе које треба следити спровођењем Тест Фиктуре приступ и основно разумевање употребе и редоследа извршавања напомена о животном циклусу.
У следећем упутству сазнајемо о различити начини извршавања ЈУнит тестова у Помрачењу. Зато будите прилагођени серији док напредујемо са занимљивијим аспектима ЈУнит-а.
=> Погледајте овде да бисте видели А-З од ЈУнит Туториалс Траининг-а овде.
Препоручено читање
- ЈУнит тестови: Како написати ЈУнит тест случајеве са примерима
- Водич за ЈУнит за почетнике - шта је ЈУнит тестирање
- Питхон ДатеТиме Водич са примерима
- Јава Стринг садржи () Водич за методе са примерима
- Ц # Коришћење Извода и Водича за виртуелне методе са примерима
- Увод у ЈУнит Фрамеворк и његову употребу у скрипту Селениум - Водич за селен # 11
- Водич за текст помоћу примера у тексту за проналажење селена
- Водич за дужину Јава низа са примерима кода