assertions java java assert tutorial with code examples
Овај приручник за Јава Ассерт објашњава све о тврдњама на Јави. Научићете како да омогућите и онемогућите тврдње, како се користе тврдње, примери примене итд.:
У нашим ранијим водичима већ смо разговарали о изузецима у Јави. То су грешке које се уоче током извођења. Слично изузетцима, постоје и неке друге конструкције које можемо користити током компајлирања да бисмо тестирали исправност кода. Те конструкције се називају „Тврдње“.
У овом упутству детаљно ћемо размотрити тврдње на Јави. Тврдњу можемо дефинисати као конструкцију која нам омогућава да тестирамо исправност или јасноћу претпоставки које смо изнели у нашем Јава програму.
=> Овде погледајте водич за почетнике Јава.
Шта ћете научити:
Тврдње у Јави
Дакле, када извршавамо тврдњу у програму, претпоставља се да је тачна. Ако постане нетачно или не успије, ЈВМ ће избацити АссертионЕррор.
Тврдње користимо током развоја у сврху тестирања. У току извршавања, Јава онемогућава тврдње.
Како се тврдње разликују од уобичајених изузетака?
За разлику од уобичајених изузетака, тврдње су углавном корисне за проверу логичних ситуација у програму око којег сумњамо. Такође супротно уобичајеним изузецима који се такође могу бацити у време извођења, тврдње су онемогућене у време извођења.
Тврдње се могу користити на местима у коду где програмер има максималну контролу као што се могу користити као параметри приватних метода. Тврдње се такође могу користити са условним падежима. Слично томе, услови на почетку било које методе могу садржати тврдње.
Међутим, тврдње не би требало узимати као замену за поруке о грешкама. Ни тврдње не би требало користити у јавним методама, на пример, за проверу аргумената. Најважније је да не бисмо требали користити тврдње у аргументима командне линије у Јави.
У Јави су тврдње подразумевано онемогућене. Дакле, да би тврдње радиле у Јава програму, прво морамо омогућити тврдње.
Омогући тврдње у Јави
Да бисмо омогућили тврдње, то морамо учинити из командне линије.
Следи општа синтакса омогућавања Ассертион у Јави.
java –ea: arguments
или
java –enableassertions: arguments
Као пример, можемо омогућити тврдње за одређену класу као што је приказано у наставку:
java –ea TestProgram
или
java –enableassertions TestProgram
Овде је ТестПрограм класа за коју треба да се омогући тврдња.
Када је услов тачан у изјави за потврду у програму и ако су тврдње омогућене, програм ће се нормално извршавати. Када је услов нетачан и тврдње су омогућене, програм баца АссертионЕррор и програм се зауставља.
Постоје разне варијације за омогућавање тврдњи помоћу командне линије.
# 1) јава –еа
Када је наведена наредба дата у командној линији, тада су тврдње омогућене у свим класама, осим у системским класама.
# 2) јава –еа Маин
Горња команда омогућава тврдњу за све класе у главном програму.
# 3) јава –еа ТестЦласс Маин
Ова команда омогућава тврдње за само једну класу - „ТестЦласс“ у главном програму.
# 4) јава –еа цом.пацкагеНаме… Главна
Горња команда омогућава тврдњу за пакет цом.пацкагеНаме и његове подпакете у главном програму.
# 5) јава –еа… Главна
Омогућава тврдњу за неименовани пакет у тренутном радном директоријуму.
# 6) јава –еса: аргументи ИЛИ јава –енаблесистемассертионс: аргументи
Горња команда омогућава тврдње за системске класе.
Онемогућавање тврдњи
Такође можемо онемогућити тврдње путем командне линије.
Општа синтакса за онемогућавање тврдњи у Јави је:
java –da arguments
ИЛИ
java –disableassertions arguments
Слично онемогућавању тврдњи у системским класама, користимо следећу синтаксу:
java – dsa: arguments
ИЛИ
java –disablesystemassertions:arguments
„Утверди“ кључну реч у Јави
Јава језик пружа кључну реч „ассерт“ која омогућава програмерима да верификују претпоставке које су направили за програм или стање програма.
Тако можемо да користимо кључну реч „ассерт“ да бисмо пружили тврдње на Јави да бисмо верификовали услове који иначе могу спречити несметан рад програма.
Кључна реч „ассерт“ користи се из Јаве 1.4, али остаје мало позната кључна реч у Јави. Када користимо кључну реч ассерт у Јави, то морамо учинити у изјави Ассерт.
Изјава о изјави на Јави
На Јави изјава ассерт започиње кључном речју „средство“, а иза ње следи логички израз.
Изјава ассерт у Јави може се написати на два начина:
- тврдити израз;
- тврдити израз1: израз2;
У оба приступа изрази који се користе са кључном речи Ассерт су логички изрази.
ц # вс ц ++ вс јава
Размотрите следећу изјаву као пример.
assert value >= 10 : “greater than 10”;
Овде изјава ассерт проверава стање и ако је услов истинит, исписује се порука. Тако такође можемо имати тврдње са нашом поруком.
Како се користи Ассерт у Јави
До сада смо разговарали о кључној речи ассерт и изјави ассерт на Јави. Сада, размотримо пример да покажемо како се користи ассерт у Јави.
Да бисмо додали тврдње, морамо једноставно да додамо изјаву на следећи начин:
public void setup_connetion () { Connection conn = getConnection (); assert conn != null; }
Такође можемо дати различиту тврдњу другачије, као што је приказано у наставку:
public void setup_connection () { Connection conn = getConnection (); assert conn != null: “Connection is null”; }
Обе горње конструкције кода провјеравају да ли веза враћа не-нулл вриједност. Ако врати нулл вредност, тада ће ЈВМ избацити грешку - АссертионЕррор. Али у другом случају, порука је наведена у изјави за потврду, тако да ће се та порука користити за конструкцију АссертионЕррор.
У другом случају са омогућеним тврдњама, изузетак ће изгледати овако:
Exception in thread 'main' java.lang.AssertionError: Connection is null at line numbers…
Пример примене на Јави
Применимо пример коришћења тврдњи у Јави.
public class Main { public static void main(String[] args) { try { System.out.println('Testing Assertions...'); assert true : 'We don't see this.'; assert false : 'Visible if assertions are ON.'; } catch (AssertionError e) { e.printStackTrace(); } } }
Оутпут
Горњи излаз се даје када тврдње нису омогућене. Ако је тврдња омогућена, приказаће се друга порука (тврдити нетачно).
Сада ћемо демонстрирати још један пример . Имајте на уму да смо овде омогућили тврдњу у Јави на нашој машини на којој радимо овај програм.
class Main { public static void main(String args[]) { String[] weekends = {'Friday', 'Saturday', 'Sunday'}; assert weekends.length == 2; System.out.println('We have ' + weekends.length + ' weekend days in a week'); } }
Оутпут
Како се дужина викенда не подудара са дужином наведеном у изјави за потврду, избациће се горњи изузетак. Да је тврдња онемогућена, програм би приказао наведену поруку уместо да се изузме изузетак.
Зашто се тврдње користе у Јави?
У свом програму Јава користимо тврдње како бисмо били сигурни да су претпоставке које смо изнели у нашем програму тачне.
На пример, ако желимо да се уверимо да је код који се чини недостижним заиста недостижан. Или желимо да се уверимо да било која променљива има вредност у наведеном опсегу.
Када направимо такву претпоставку, дајемо тврдње како бисмо били сигурни да су заиста тачне.
Често постављана питања
П # 1) Да ли ассерт баца изузетак Јава?
Одговор: Ассерт обично баца „АссертионЕррор“ када је претпоставка погрешна. АссертионЕррор се протеже од класе Еррор (која се на крају протеже од Тхровабле).
П # 2) Шта се дешава када потврда не успије на Јави?
Одговор: Ако су тврдње омогућене за програм у коме тврдња не успе, бациће АссертионЕррор.
П # 3) Шта се асерт враћа у Јави?
Одговор: Изјава ассерт проглашава логички услов за који се очекује да ће се појавити у програму. Ако се овај логички услов процијени на фалсе, тада се за вријеме извођења даје АссертионЕррор под условом да је тврдња омогућена.
Ако је претпоставка тачна, логички услов ће вратити тачно.
П # 4) Можемо ли ухватити грешку у тврдњи?
Одговор: АссертионЕррор коју баца наредба ассерт је непроверени изузетак који проширује класу Еррор. Стога се од тврдњи не захтева да их експлицитно декларишу, а такође није потребно ни покушавати ни хватати их.
П # 5) Како утврђујете изузетак?
Одговор: Да бисмо потврдили изузетак, проглашавамо објекат ЕкпецтедЕкцептион на следећи начин:
јавни ЕкпецтедЕкцептион изузетак = ЕкпецтедЕкцептион. ниједан ();
Тада користимо методе очекивано () и очекујемо мессаге () у методу Тест, да потврдимо изузетак и дамо поруку о изузетку.
Закључак
Овим смо закључили овај водич о тврдњама на Јави. Разговарали смо о дефиницији и сврси тврдњи у Јави. Да би користили тврдњу у програму Јава, прво им морамо омогућити употребу командне линије.
Истражили смо различите начине помоћу којих можемо омогућити тврдње на програмском нивоу, нивоу пакета, директоријуму итд. Разговарано је о кључним речима и изјавама за потврђивање на Јави и њиховој детаљној синтакси са примерима програмирања. Изјаве о кључним речима и имовини ассерт помажу нам да користимо тврдње.
Видели смо да се АссертионЕррор даје када тврдња не успе. Тврдње у Јави углавном се користе у време компајлирања и подразумевано су онемогућене током извођења.
Даље, тврдње се углавном користе у ЈУнит оквиру Јаве у којем пишемо тест случајеве за тестирање апликација.
=> Прочитајте серију Еаси Јава Траининг.
Препоручено читање
- Тврдње у селенијуму помоћу Јунит и ТестНГ оквира
- Примери за утврђивање селена - практичне примене у пројектима
- Тврдња у СОАтест-у са примером КСМЛ кода
- Ц ++ Ассерт (): Руковање тврдњама на Ц ++ са примерима
- Разумевање тврдњи у СоапУИ - Водич бр. 5 за СоапУИ
- Водич за ЈАВА за почетнике: 100+ практичних Јава видео водича
- Назубљени низ у Јави - Водич са примерима
- Јава типови података, петље, низови, прекидачи и тврдње