Очекивани тест изузетка ЈУнит: @Тест (очекује се)

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

Anonim

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

Јунит4 пружа једноставан и читљив начин за тестирање изузетака, који можете користити

  • Необавезни параметар (очекује се) напомене @тест и
  • За тражење информација може се користити „фаил ()“

Док тестирате изузетак, морате осигурати да је класа изузетака коју пружате у том опционалном параметру @ тест анотације иста. То је зато што очекујете изузетак од методе коју користите Јединствено тестирање, у супротном наш ЈУнит тест неће успети.

Пример @ тест (очекује се = ИллегалАргументЕкцептион.цласс)

Коришћењем параметра „очекује се“ можете одредити име изузетка које наш тест може да пружи. У горњем примеру користите „ ИллегалАргументЕкцептион“ који ће се бацити тестом ако програмер користи аргумент који није дозвољен.

Пример коришћења @тест (очекује се)

Хајде да разумемо тестирање изузетака стварањем Јава класе методом која баца изузетак. Ви ћете то решити и тестирати на тесту. Размислите о томе да ЈУнитМессаге.јава има методу која једноставно врши математичку операцију на основу уноса који је корисник примио. Ако се унесе било који незаконит аргумент, бациће „АритхметицЕкцептион . Види доле:

пакет гуру99.јунит;јавна класа ЈУнитМессаге {приватна стринг порука;публиц ЈУнитМессаге (Стринг мессаге) {тхис.мессаге = мессаге;}публиц воид принтМессаге () {Систем.оут.принтлн (порука);инт подела = 1/0;}јавни Стринг принтХиМессаге () {мессаге = "Здраво!" + порука;Систем.оут.принтлн (порука);повратна порука;}}

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

  • Шифра 7: Стварање параметризованог конструктора са иницијализацијом поља.
  • Линија кода 11-14: Стварање методе за математичку операцију.
  • Редак 18: Стварање другог метода за штампање поруке.
  • Кодни ред 20: Стварање новог низа за штампање поруке.
  • Линија 21: Штампање нове поруке креиране у реду 20.

Направимо тест класу за горњу јава класу да бисмо верификовали изузетак.

Погледајте доле класу теста за изузетак јединичног теста (АритхметицЕкцептион овде) избацивање из горње јава класе:

АиртхематицТест.јава

пакет гуру99.јунит;импорт статиц орг.јунит.Ассерт.ассертЕкуалс;импорт орг.јунит.Тест;јавна класа АиртхематицТест {порука јавног низа = "Саурабх";ЈУнитМессаге јунитМессаге = ново ЈУнитМессаге (порука);@Тест (очекује се = АритхметицЕкцептион.цласс)јавни воид тестЈУнитМессаге () {Систем.оут.принтлн ("Јунит порука се исписује");јунитМессаге.принтМессаге ();}@Тестјавни воид тестЈУнитХиМессаге () {мессаге = "Здраво!" + порука;Систем.оут.принтлн ("Јунит порука се исписује");ассертЕкуалс (мессаге, јунитМессаге.принтМессаге ());}}

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

  • Кодни ред 13: Коришћење ознаке @Тест за креирање нашег теста. Док извршавате методу изнад класа, она ће позвати математичку операцију. Овде се очекује аритметичка изузетак, па га наводите као параметар у @Тест.
  • Линија кода 17: Позивање принтМессаге () ЈУнитМессаге.јава
  • Кодни ред 18: Стварање другог метода за испис ХИ поруке.

Ако извршите ову класу теста, метода теста се извршава са сваким дефинисаним параметром. У горњем примеру, метода испитивања се извршава пет пута.

Извршимо га и проверимо резултат. Погледајте испод класу тест руннер за извршавање ЈунитТестЕкампле.јава

Излаз:

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

Резиме:

  • Тестирање изузетака је посебна карактеристика уведена у ЈУнит4. У овом упутству сте научили како да тестирате изузетак у ЈУнит-у помоћу @тест (изузето)
  • Јунит пружа могућност праћења изузетка и такође провере да ли код даје изузетак или не
  • За тестирање изузетака можете да користите
    • Необавезни параметар (очекује се) напомене @тест и
    • За тражење информација може се користити „фаил ()“