assertions java java assert tutorial with code examples
Tento výukový program Java Assert vysvětluje vše o tvrzeních v Javě. Naučíte se Povolit a zakázat tvrzení, jak používat tvrzení, uplatňovat příklady atd.:
V našich dřívějších výukových programech jsme již diskutovali o výjimkách v Javě. Jedná se o chyby, které jsou zachyceny za běhu. Podobně jako u výjimek existují i některé další konstrukce, které můžeme v době kompilace použít k testování správnosti kódu. Tyto konstrukce se nazývají „tvrzení“.
V tomto tutoriálu budeme podrobně diskutovat tvrzení v Javě. Můžeme definovat tvrzení jako konstrukci, která nám umožňuje otestovat správnost nebo jasnost předpokladů, které jsme vytvořili v našem programu Java.
=> Prohlédněte si příručku Java Beginners Guide zde.
Co se naučíte:
Tvrzení v Javě
Když tedy provádíme tvrzení v programu, předpokládá se, že je to pravda. Pokud se stane nepravdivou nebo selže, pak JVM hodí AssertionError.
Během vývoje používáme tvrzení pro účely testování. Za běhu jsou Java tvrzení zakázána.
Jak se tvrzení liší od běžných výjimek?
Na rozdíl od běžných výjimek jsou tvrzení hlavně užitečná ke kontrole logických situací v programu, o kterých máme pochybnosti. Na rozdíl od běžných výjimek, které lze také vyvolat za běhu, jsou tvrzení za běhu zakázána.
Assertions can be used in the places in the code where the developer has maximum control like they can be used as parameters to private methods. Tvrzení lze také použít s podmíněnými případy. Podobně mohou podmínky na začátku jakékoli metody obsahovat tvrzení.
Tvrzení by však neměla být brána jako náhrada za chybové zprávy. Ani tvrzení by se neměla používat ve veřejných metodách, například, zkontrolovat argumenty. A co je nejdůležitější, neměli bychom používat tvrzení na argumentech příkazového řádku v Javě.
minimální kostra c ++
V Javě jsou tvrzení ve výchozím nastavení zakázána. Aby tedy tvrzení fungovala v programu Java, musíme je nejprve povolit.
Povolit tvrzení v Javě
Abychom povolili tvrzení, musíme to udělat z příkazového řádku.
Následuje obecná syntaxe pro povolení Assertion v Javě.
java –ea: arguments
nebo
java –enableassertions: arguments
Jako příklad můžeme povolit tvrzení pro konkrétní třídu, jak je znázorněno níže:
java –ea TestProgram
nebo
java –enableassertions TestProgram
Tady je TestProgram třída, pro kterou má být tvrzení povoleno.
Pokud je podmínka v příkazu assert v programu pravdivá a jsou tvrzení povolena, program se provede normálně. Pokud je podmínka nepravdivá a jsou povoleny tvrzení, program vyvolá AssertionError a program se zastaví.
Existují různé varianty pro povolení tvrzení pomocí příkazového řádku.
# 1) java –ea
Když je výše uvedený příkaz zadán na příkazovém řádku, pak jsou tvrzení povolena ve všech třídách kromě systémových tříd.
# 2) java –ea hlavní
Výše uvedený příkaz umožňuje uplatnění pro všechny třídy v hlavním programu.
# 3) java –ea Main TestClass
Tento příkaz umožňuje tvrzení pouze pro jednu třídu - „TestClass“ v hlavním programu.
# 4) java –ea com.packageName… hlavní
Výše uvedený příkaz umožňuje tvrzení pro balíček com.packageName a jeho dílčí balíčky v hlavním programu.
# 5) java –ea… hlavní
nástroje pro testování záznamu a přehrávání zdarma
Umožňuje tvrzení nepojmenovaného balíčku v aktuálním pracovním adresáři.
# 6) java –esa: argumenty NEBO java –enablesystemassertions: argumenty
Výše uvedený příkaz umožňuje tvrzení pro systémové třídy.
Zakázání tvrzení
Můžeme také zakázat tvrzení prostřednictvím příkazového řádku.
Obecná syntaxe pro deaktivaci tvrzení v Javě je:
java –da arguments
NEBO
java –disableassertions arguments
Podobně k deaktivaci tvrzení ve třídách systému používáme následující syntaxi:
java – dsa: arguments
NEBO
java –disablesystemassertions:arguments
„Prosadit“ klíčové slovo v Javě
Jazyk Java poskytuje klíčové slovo „assert“, které umožňuje vývojářům ověřit předpoklady, které pro program nebo stav programu vytvořili.
Můžeme tedy použít klíčové slovo „assert“ k poskytnutí tvrzení v Javě k ověření podmínek, které by jinak mohly bránit hladkému fungování programu.
Klíčové slovo „assert“ se používá v prostředí Java 1.4, ale zůstává málo známým klíčovým slovem v prostředí Java. Když používáme klíčové slovo assert v Javě, musíme to udělat v příkazu Assert.
Uplatnit prohlášení v Javě
V Javě začíná příkaz assert klíčovým slovem „asset“ následovaným logickým výrazem.
Příkaz assert v Javě lze psát dvěma způsoby:
- prosazovat výraz;
- prosazovat výraz1: výraz2;
V obou přístupech jsou výrazy použité s klíčovým slovem Assert booleovské výrazy.
Zvažte následující prohlášení jako příklad.
assert value >= 10 : “greater than 10”;
Zde příkaz assert zkontroluje podmínku a pokud je podmínka pravdivá, vytiskne se zpráva. Můžeme tedy mít i tvrzení s naší zprávou.
Jak používat Assert v Javě
Dosud jsme diskutovali o assert keyword a assert statement v Javě. Uvažujme nyní o příkladu, jak demonstrovat, jak používat asert v Javě.
Chcete-li přidat tvrzení, musíme jednoduše přidat příkaz assert takto:
public void setup_connetion () { Connection conn = getConnection (); assert conn != null; }
Výše uvedené tvrzení můžeme dát i jinak, jak je znázorněno níže:
public void setup_connection () { Connection conn = getConnection (); assert conn != null: “Connection is null”; }
Oba výše uvedené konstrukty kódu zkontrolují, zda připojení vrací nenulovou hodnotu. Pokud vrátí nulovou hodnotu, pak JVM vyvolá chybu - AssertionError. Ale v druhém případě je v příkazu assert uvedena zpráva, takže tato zpráva bude použita ke konstrukci AssertionError.
V druhém případě se zapnutými tvrzeními bude výjimka vypadat takto:
Exception in thread 'main' java.lang.AssertionError: Connection is null at line numbers…
Uplatnit příklad v Javě
Pojďme implementovat příklad použití tvrzení v Javě.
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ýstup
Výše uvedený výstup je uveden, když nejsou tvrzení povolena. Pokud bylo tvrzení povoleno, zobrazí se druhá zpráva (assert false).
Nyní si ukážeme další příklad . Všimněte si, že zde jsme povolili tvrzení v Javě na našem stroji, kde tento program spouštíme.
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ýstup
jaký je váš přístup při testování mobilních aplikací
Protože délka víkendu neodpovídá délce zadané v příkazu assert, je vyvolána výše uvedená výjimka. Pokud bylo tvrzení deaktivováno, pak by program zobrazil uvedenou zprávu namísto uplatnění výjimky.
Proč se v Javě používají tvrzení?
V našem programu Java používáme tvrzení, abychom se ujistili, že předpoklady, které jsme v našem programu vytvořili, jsou správné.
Například, pokud se chceme ujistit, že kód, který se zdá být nedosažitelný, je skutečně nedosažitelný. Nebo se chceme ujistit, že libovolná proměnná má hodnotu v zadaném rozsahu.
Když vytvoříme takový předpoklad, poskytneme tvrzení, abychom se ujistili, že jsou skutečně správné.
Často kladené otázky
Otázka č. 1) Hodí assert výjimku Java?
Odpovědět: Assert obvykle hodí „AssertionError“, když je chybný předpoklad. AssertionError sahá od třídy Error (která se nakonec rozšiřuje od Throwable).
Otázka 2) Co se stane, když v aplikaci Java selže tvrzení?
Odpovědět: Pokud jsou pro program, ve kterém se tvrzení nezdaří, povolena tvrzení, vyhodí AssertionError.
Otázka č. 3) Co se vrací Java v Javě?
Odpovědět: Příkaz assert deklaruje logickou podmínku, která se očekává v programu. Pokud je tato logická podmínka vyhodnocena jako false, pak je za běhu zadána AssertionError za předpokladu, že je povoleno tvrzení.
Pokud je předpoklad správný, vrátí se logická podmínka true.
Otázka č. 4) Můžeme zachytit chybu tvrzení?
Odpovědět: AssertionError vyvolaný příkazem assert je nekontrolovaná výjimka, která rozšiřuje třídu Error. Tvrzení tedy nejsou nutná k jejich výslovnému deklaraci a také není nutné je zkoušet nebo chytat.
Otázka č. 5) Jak prosadíte výjimku?
Odpověď: Pro uplatnění výjimky deklarujeme objekt ExpectedException následujícím způsobem:
public ExpectedException výjimka = ExpectedException. žádný ();
Potom v metodě Test použijeme metody expect () a expect message (), abychom potvrdili výjimku a poskytli zprávu o výjimce.
Závěr
Tím jsme uzavřeli tento tutoriál o tvrzeních v Javě. Diskutovali jsme o definici a účelu tvrzení v Javě. Chcete-li použít tvrzení v programu Java, musíme jim nejprve umožnit použití příkazového řádku.
Prozkoumali jsme různé způsoby, kterými můžeme povolit tvrzení na úrovni programu, balíku, adresáře atd. Bylo diskutováno tvrzení klíčových slov a tvrzení v Javě a jejich podrobná syntaxe s příklady programování. Prohlášení o klíčových slovech a aktivech Assert nám pomáhají používat tvrzení.
Viděli jsme, že AssertionError je uveden, když se tvrzení nezdaří. Tvrzení v Javě se většinou používají v době kompilace a ve výchozím nastavení jsou za běhu deaktivována.
Kromě toho se tvrzení většinou používají v rámci JUnit prostředí Java, ve kterém píšeme testovací případy pro testování aplikací.
=> Přečtěte si řadu Easy Java Training Series.
Doporučené čtení
- Tvrzení v selenu pomocí rámců Junit a TestNG
- Příklady uplatnění selenu - praktické aplikace v projektech
- Tvrzení v SOAtestu s příkladem kódu XML
- C ++ Assert (): Zpracování tvrzení v C ++ s příklady
- Pochopení tvrzení v SoapUI - SoapUI Tutorial # 5
- Výukový program JAVA pro začátečníky: 100+ praktických výukových programů Java Video
- Jagged Array In Java - výukový program s příklady
- Java DataTypes, Loops, Arrays, Switch a Assertions