assertions java java assert tutorial with code examples
Tento výukový program Java Assert Explains all about Assertions in Java. Naučíte sa Povoliť a zakázať tvrdenia, ako používať tvrdenia, príklady uplatnenia atď.:
V našich predchádzajúcich tutoriáloch sme už hovorili o výnimkách v Jave. Toto sú chyby, ktoré sa zachytia za behu programu. Podobne ako pri výnimkách existujú aj niektoré ďalšie konštrukty, ktoré môžeme v čase kompilácie použiť na otestovanie správnosti kódu. Tieto konštrukty sa nazývajú „tvrdenia“.
V tomto výučbe sa podrobne zaoberáme tvrdeniami v Jave. Môžeme definovať tvrdenie ako konštrukt, ktorý nám umožňuje testovať správnosť alebo jasnosť predpokladov, ktoré sme vytvorili v našom programe Java.
=> Tu si pozrite príručku Java Beginners Guide.
Čo sa dozviete:
Tvrdenia v Jave
Keď teda vykonávame tvrdenie v programe, predpokladá sa, že je to pravda. Ak sa stane nepravdivou alebo zlyhá, potom JVM vyhodí AssertionError.
Počas vývoja používame tvrdenia na účely testovania. Počas behu programu Java sú tvrdenia zakázané.
Ako sa líšia tvrdenia od bežných výnimiek?
Na rozdiel od bežných výnimiek sú výrazy užitočné hlavne na kontrolu logických situácií v programe, o ktorých máme pochybnosti. Na rozdiel od bežných výnimiek, ktoré sa dajú vyhodiť aj za behu, sú tvrdenia zakázané za behu.
Tvrdenia je možné použiť na miestach v kóde, kde má vývojár maximálnu kontrolu, ako by ich bolo možné použiť ako parametre súkromných metód. Tvrdenia možno použiť aj v podmienených prípadoch. Podobne môžu podmienky na začiatku ktorejkoľvek metódy obsahovať tvrdenia.
Tvrdenia by sa však nemali považovať za náhradu chybových správ. Ani tvrdenia by sa nemali používať vo verejných metódach, napríklad, skontrolovať argumenty. Najdôležitejšie je, že by sme v Jave nemali používať tvrdenia o argumentoch príkazového riadku.
V Jave sú tvrdenia predvolene zakázané. Aby tvrdenia mohli fungovať v programe Java, musíme ich najskôr povoliť.
Povoliť tvrdenia v prostredí Java
Aby sme umožnili tvrdenia, musíme to urobiť z príkazového riadku.
Nasleduje všeobecná syntax pre povolenie Assertion v Jave.
java –ea: arguments
alebo
java –enableassertions: arguments
Ako príklad môžeme povoliť tvrdenia pre konkrétnu triedu, ako je uvedené nižšie:
java –ea TestProgram
alebo
java –enableassertions TestProgram
TestProgram je trieda, pre ktorú má byť tvrdenie povolené.
Ak je podmienka vo vyhlásení assert v programe pravdivá a sú povolené tvrdenia, program sa vykoná normálne. Ak je podmienka nepravdivá a tvrdenia sú povolené, program vyhodí AssertionError a program sa zastaví.
Existujú rôzne variácie na povolenie tvrdení pomocou príkazového riadku.
# 1) java –ea
Keď je uvedený príkaz uvedený v príkazovom riadku, potom sú tvrdenia povolené vo všetkých triedach okrem systémových tried.
# 2) java –ea hlavná
Vyššie uvedený príkaz umožňuje tvrdenie pre všetky triedy v hlavnom programe.
# 3) java –ea TestClass Main
Tento príkaz umožňuje tvrdenia iba pre jednu triedu - TestClass v hlavnom programe.
# 4) java –ea com.packageName ... hlavné
Vyššie uvedený príkaz umožňuje uplatnenie tvrdenia pre balík com.packageName a jeho čiastkové balíky v hlavnom programe.
# 5) java –ea ... hlavná
Umožňuje uplatnenie nepomenovaného balíka v aktuálnom pracovnom adresári.
# 6) java –esa: argumenty ALEBO java –enablesystemassertions: argumenty
Vyššie uvedený príkaz umožňuje tvrdenia pre triedy systému.
Zakázanie tvrdení
Tvrdenia môžeme deaktivovať aj prostredníctvom príkazového riadku.
Všeobecná syntax na zakázanie tvrdení v Jave je:
java –da arguments
ALEBO
java –disableassertions arguments
Podobne ako pri deaktivácii tvrdení v systémových triedach používame nasledujúcu syntax:
java – dsa: arguments
ALEBO
java –disablesystemassertions:arguments
„Uplatniť“ kľúčové slovo v prostredí Java
Jazyk Java poskytuje kľúčové slovo „assert“, ktoré umožňuje vývojárom overiť predpoklady, ktoré pre program alebo stav programu vytvorili.
Takže môžeme použiť kľúčové slovo „assert“ na poskytnutie tvrdení v Jave na overenie podmienok, ktoré by inak mohli brániť hladkému fungovaniu programu.
Kľúčové slovo „assert“ sa používa v prostredí Java 1.4, ale zostáva málo známym kľúčovým slovom v prostredí Java. Keď používame kľúčové slovo assert v Jave, musíme to urobiť vo vyhlásení Assert.
Tvrdenie vyhlásenia v Jave
V Jave sa príkaz assert začína kľúčovým slovom „asset“, za ktorým nasleduje boolovský výraz.
Vyhlásenie assert v Jave je možné písať dvoma spôsobmi:
- tvrdiť výraz;
- tvrdiť výraz1: výraz2;
V oboch prístupoch sú výrazy použité v kľúčovom slove Assert booleovské výrazy.
Nasledujúce tvrdenie považujte za príklad.
assert value >= 10 : “greater than 10”;
Tu príkaz assert skontroluje podmienku a ak je podmienka pravdivá, vytlačí sa správa. Môžeme teda mať aj tvrdenia týkajúce sa našej správy.
Ako používať Assert v Jave
Doteraz sme diskutovali o assert keyword a assert statement v Jave. Pozrime sa teraz na príklad, ktorý ukazuje, ako používať assert v Jave.
Ak chcete pridať tvrdenia, musíme jednoducho pridať tvrdenie takto:
public void setup_connetion () { Connection conn = getConnection (); assert conn != null; }
Vyššie uvedené tvrdenie môžeme dať aj inak, ako je uvedené nižšie:
public void setup_connection () { Connection conn = getConnection (); assert conn != null: “Connection is null”; }
Oba vyššie uvedené konštrukty kódu kontrolujú, či pripojenie vráti nenulovú hodnotu. Ak vráti nulovú hodnotu, potom JVM vyhodí chybu - AssertionError. Ale v druhom prípade je vo vyhlásení assert poskytnutá správa, takže táto správa sa použije na zostrojenie AssertionError.
V druhom prípade so povolenými tvrdeniami bude výnimka vyzerať takto:
Exception in thread 'main' java.lang.AssertionError: Connection is null at line numbers…
Uplatniť príklad v prostredí Java
Uveďme si príklad použitia výrazov v jazyku Java.
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(); } } }
Výkon
Vyššie uvedený výstup je uvedený, keď nie sú povolené tvrdenia. Ak bolo tvrdenie povolené, zobrazí sa druhá správa (tvrdiť nepravdivo).
Teraz si ukážeme ďalší príklad . Všimnite si, že tu sme povolili tvrdenie v Jave na našom stroji, kde prevádzkujeme tento program.
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'); } }
Výkon
Pretože dĺžka víkendu sa nezhoduje s dĺžkou uvedenou vo vyhlásení assert, je vyvolaná vyššie uvedená výnimka. Keby bolo tvrdenie zakázané, potom by program zobrazil uvedenú správu namiesto potvrdenia výnimky.
ako zobraziť súbory .swf
Prečo sa v Jave používajú tvrdenia?
V našom programe Java používame tvrdenia, aby sme sa ubezpečili, že predpoklady, ktoré sme v našom programe vytvorili, sú správne.
Napríklad, ak sa chceme ubezpečiť, že kód, ktorý sa zdá byť nedosiahnuteľný, je skutočne nedosiahnuteľný. Alebo sa chceme ubezpečiť, že ľubovoľná premenná má hodnotu v zadanom rozsahu.
Keď urobíme takýto predpoklad, poskytneme tvrdenia, aby sme sa uistili, že sú skutočne správne.
často kladené otázky
Otázka č. 1) Hodí assert výnimku Javu?
Odpoveď: Assert zvyčajne hodí „AssertionError“, keď je urobený predpoklad nesprávny. AssertionError siaha od triedy Error (ktorá sa nakoniec rozširuje od Throwable).
Otázka 2) Čo sa stane, keď v aplikácii Java zlyhá tvrdenie?
Odpoveď: Ak sú tvrdenia povolené pre program, v ktorom tvrdenie zlyhá, bude vyhodené AssertionError.
Otázka č. 3) Čo sa tvrdí, že sa vráti Java?
Odpoveď: Príkaz assert deklaruje booleovskú podmienku, ktorá sa očakáva v programe. Ak sa táto logická podmienka vyhodnotí ako nepravdivá, potom sa za behu poskytne AssertionError za predpokladu, že je povolené tvrdenie.
Ak je predpoklad správny, potom booleovská podmienka vráti hodnotu true.
Otázka č. 4) Môžeme zachytiť chybu tvrdenia?
Odpoveď: AssertionError vyvolaný príkazom assert je nekontrolovaná výnimka, ktorá rozširuje triedu Error. Tvrdenia teda nie sú potrebné na ich výslovné vyhlásenie a takisto nie je potrebné ich skúšať alebo chytať.
Otázka č. 5) Ako si uplatníte výnimku?
Odpoveď: Na uplatnenie výnimky deklarujeme objekt ExpectedException nasledovne:
public ExpectedException výnimka = ExpectedException. žiadny ();
Potom v testovacej metóde použijeme metódy expect () a expect message () na potvrdenie výnimky a odoslanie správy o výnimke.
Záver
Týmto sme ukončili tento návod na tvrdenia v Jave. Diskutovali sme o definícii a účele tvrdení v Jave. Ak chcete použiť tvrdenie v programe Java, musíme im najskôr umožniť používať príkazový riadok.
Preskúmali sme rôzne spôsoby, pomocou ktorých môžeme povoliť tvrdenia na úrovni programu, balíka, adresára atď. Diskutovalo sa o výrazoch Assert - kľúčové slovo a Assert v jazyku Java a o ich podrobnej syntaxi s príkladmi programovania. Tvrdenie kľúčových slov a výpisov aktív nám pomáha používať tvrdenia.
Videli sme, že chyba AssertionError je uvedená, keď tvrdenie zlyhá. Výroky v Jave sa väčšinou používajú v čase kompilácie a štandardne sú za behu vypnuté.
Ďalej sa tvrdenia väčšinou používajú v rámci JUnit Java, v ktorých píšeme testovacie prípady na testovanie aplikácií.
=> Prečítajte si sériu Easy Java Training Series.
Odporúčané čítanie
- Tvrdenia v seléne pomocou rámcov Junit a TestNG
- Príklady uplatnenia selénu - praktické aplikácie v projektoch
- Uplatnenie v SOAteste s príkladom kódu XML
- C ++ Assert (): Spracovanie tvrdenia v C ++ s príkladmi
- Pochopenie tvrdení v SoapUI - SoapUI Tutorial # 5
- Výukový program JAVA pre začiatočníkov: viac ako 100 praktických výučbových programov Java Video
- Jagged Array In Java - návod s príkladmi
- Java dátové typy, slučky, polia, prepínače a tvrdenia