assertions java java assert tutorial with code examples
Ten samouczek dotyczący asercji w języku Java wyjaśnia wszystko o asercjach w języku Java. Dowiesz się, jak włączać i wyłączać asercje, jak korzystać z asercji, przykładów potwierdzeń itp .:
W naszych wcześniejszych samouczkach omówiliśmy już wyjątki w Javie. To są błędy, które są wychwytywane w czasie wykonywania. Podobnie jak w przypadku wyjątków, istnieją inne konstrukcje, których możemy użyć w czasie kompilacji, aby przetestować poprawność kodu. Konstrukcje te nazywane są „Asercjami”.
W tym samouczku szczegółowo omówimy Asercje w Javie. Możemy zdefiniować Asercję jako konstrukcję, która pozwala nam przetestować poprawność lub jasność założeń, które przyjęliśmy w naszym programie Java.
=> Zapoznaj się z podręcznikiem Java dla początkujących tutaj.
Czego się nauczysz:
Asercje w Javie
Zatem kiedy wykonujemy asercję w programie, zakłada się, że jest ona prawdziwa. Jeśli stanie się fałszywy lub zawiedzie, JVM zgłosi błąd AssertionError.
Używamy asercji podczas programowania do celów testowych. W czasie wykonywania asercje są wyłączane przez Javę.
Czym się różnią asercje od zwykłych wyjątków?
W przeciwieństwie do zwykłych wyjątków, Asercje są przydatne głównie do sprawdzania sytuacji logicznych w programie, co do których mamy wątpliwości. W przeciwieństwie do zwykłych wyjątków, które również mogą być zgłaszane w czasie wykonywania, potwierdzenia są wyłączane w czasie wykonywania.
Asercji można używać w miejscach w kodzie, w których programista ma maksymalną kontrolę, tak jak mogą być używane jako parametry metod prywatnych. Asercji można również używać w przypadkach warunkowych. Podobnie warunki na początku dowolnej metody mogą zawierać asercje.
Jednak potwierdzeń nie należy traktować jako zamiennika komunikatów o błędach. Ani stwierdzeń nie należy używać w metodach publicznych, na przykład, sprawdzić argumenty. Co najważniejsze, nie powinniśmy używać asercji w argumentach wiersza poleceń w Javie.
W Javie asercje są domyślnie wyłączone. Aby asercje działały w programie Java, musimy najpierw włączyć asercje.
Włącz asercje w Javie
Aby włączyć asercje, musimy to zrobić z wiersza poleceń.
Poniżej przedstawiono ogólną składnię włączania Asercji w Javie.
java –ea: arguments
lub
java –enableassertions: arguments
Na przykład możemy włączyć asercje dla określonej klasy, jak pokazano poniżej:
java –ea TestProgram
lub
java –enableassertions TestProgram
Tutaj TestProgram jest klasą, dla której asercja ma zostać włączona.
Gdy warunek jest spełniony w instrukcji assert w programie i asercje są włączone, program będzie wykonywał się normalnie. Gdy warunek jest fałszywy i asercje są włączone, program zgłasza błąd AssertionError i zatrzymuje się.
Istnieją różne warianty włączania asercji za pomocą wiersza poleceń.
# 1) java –ea
Gdy powyższa komenda zostanie podana w wierszu poleceń, potwierdzenia są włączone we wszystkich klasach z wyjątkiem klas systemowych.
# 2) java –ea Main
Powyższe polecenie umożliwia asercję dla wszystkich klas w programie głównym.
# 3) java –ea TestClass Main
To polecenie włącza potwierdzenia tylko dla jednej klasy - „TestClass” w programie głównym.
# 4) java –ea com.packageName… Main
Powyższe polecenie włącza asercję dla pakietu com.packageName i jego pakietów podrzędnych w programie głównym.
# 5) java –ea… Main
jak odtworzyć plik .mkv
Włącza potwierdzenie dla nienazwanego pakietu w bieżącym katalogu roboczym.
# 6) java –esa: argumenty LUB java –enablesystemassertions: argumenty
Powyższe polecenie włącza asercje dla klas systemowych.
Wyłączanie asercji
Możemy również wyłączyć asercje za pomocą wiersza poleceń.
Ogólna składnia wyłączania asercji w Javie to:
java –da arguments
LUB
java –disableassertions arguments
Podobnie, aby wyłączyć asercje w klasach systemowych, używamy następującej składni:
java – dsa: arguments
LUB
java –disablesystemassertions:arguments
Słowo kluczowe „assert” w Javie
Język Java udostępnia słowo kluczowe „assert”, które umożliwia programistom weryfikację przyjętych przez nich założeń dotyczących programu lub stanu programu.
Możemy więc użyć słowa kluczowego „assert”, aby zapewnić asercje w Javie, aby zweryfikować warunki, które w przeciwnym razie mogłyby uniemożliwić programowi płynne działanie.
Słowo kluczowe „assert” jest używane w Javie 1.4, ale pozostaje mało znanym słowem kluczowym w Javie. Kiedy używamy słowa kluczowego assert w Javie, musimy to zrobić w instrukcji Assert.
Instrukcja Assert w Javie
W Javie instrukcja assert zaczyna się od słowa kluczowego „asset”, po którym następuje wyrażenie boolowskie.
Instrukcja assert w Javie może być napisana na dwa sposoby:
- assert expression;
- assert wyrażenie1: wyrażenie2;
W obu podejściach wyrażenia używane ze słowem kluczowym Assert są wyrażeniami boolowskimi.
Rozważmy następującą instrukcję jako przykład.
assert value >= 10 : “greater than 10”;
Tutaj instrukcja assert sprawdza warunek i jeśli warunek jest prawdziwy, drukowany jest komunikat. W ten sposób możemy mieć również asercje z naszym przesłaniem.
Jak korzystać z funkcji Assert w Javie
Do tej pory omówiliśmy słowo kluczowe assert i instrukcję assert w Javie. Rozważmy teraz przykład pokazujący, jak używać funkcji assert w Javie.
Aby dodać asercje, musimy po prostu dodać instrukcję assert w następujący sposób:
public void setup_connetion () { Connection conn = getConnection (); assert conn != null; }
Powyższe stwierdzenie możemy również podać inaczej, jak pokazano poniżej:
public void setup_connection () { Connection conn = getConnection (); assert conn != null: “Connection is null”; }
Obie powyższe konstrukcje kodu sprawdzają, czy połączenie zwraca wartość inną niż null. Jeśli zwróci wartość null, JVM zgłosi błąd - AssertionError. Ale w drugim przypadku w instrukcji assert jest dostarczany komunikat, więc ten komunikat zostanie użyty do skonstruowania AssertionError.
W drugim przypadku z włączonymi asercjami wyjątek będzie wyglądał następująco:
Exception in thread 'main' java.lang.AssertionError: Connection is null at line numbers…
Przykład potwierdzenia w Javie
Zaimplementujmy przykład użycia Asercji w Javie.
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(); } } }
Wynik
Powyższe dane wyjściowe są podawane, gdy asercje nie są włączone. Jeśli asercja była włączona, zostanie wyświetlony drugi komunikat (assert false).
Pokażmy teraz inny przykład . Zauważ, że tutaj włączyliśmy asercję w Javie na naszym komputerze, na którym uruchamiamy ten 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'); } }
Wynik
Ponieważ długość weekendu nie odpowiada długości określonej w instrukcji assert, zgłaszany jest powyższy wyjątek. Gdyby asercja została wyłączona, program wyświetliłby określony komunikat zamiast potwierdzenia wyjątku.
Dlaczego potwierdzenia są używane w języku Java?
Używamy asercji w naszym programie Java, aby upewnić się, że założenia, które przyjęliśmy w naszym programie, są poprawne.
Na przykład, jeśli chcemy się upewnić, że kod, który wydaje się nieosiągalny, jest rzeczywiście nieosiągalny. Lub chcemy się upewnić, że każda zmienna ma wartość w określonym zakresie.
Kiedy przyjmujemy takie założenie, zapewniamy zapewnienia, aby upewnić się, że są one rzeczywiście poprawne.
Często Zadawane Pytania
Pytanie 1) Czy assert zgłasza wyjątek Java?
Odpowiedź: Assert zwykle zgłasza „AssertionError”, gdy przyjęte założenie jest błędne. AssertionError pochodzi z klasy Error (która ostatecznie dziedziczy z klasy Throwable).
P # 2) Co się dzieje, gdy asert nie powiedzie się w Javie?
jak zamienić film z YouTube na plik wav
Odpowiedź: Jeśli asercje są włączone dla programu, w którym asercja się nie powiedzie, zgłosi AssertionError.
P # 3) Co zwraca asercja w Javie?
Odpowiedź: Instrukcja assert deklaruje warunek logiczny, który powinien wystąpić w programie. Jeśli ten warunek logiczny ma wartość false, w czasie wykonywania podawany jest błąd AssertionError, pod warunkiem, że asercja jest włączona.
Jeśli założenie jest poprawne, warunek boolowski zwróci prawdę.
P # 4) Czy możemy złapać błąd asercji?
Odpowiedź: AssertionError generowany przez instrukcję assert jest niezaznaczonym wyjątkiem, który rozszerza klasę Error. Dlatego asercje nie są wymagane, aby je jawnie deklarować, a także nie ma potrzeby próbowania ich łapania.
P # 5) Jak zgłosić wyjątek?
Odpowiedź: Aby potwierdzić wyjątek, deklarujemy obiekt ExpectedException w następujący sposób:
public ExpectedExceptionception = ExpectedException. Żaden ();
Następnie używamy metody oczekiwanej () i oczekującej () w metodzie Test, aby potwierdzić wyjątek i przekazać komunikat o wyjątku.
Wniosek
Na tym zakończyliśmy ten samouczek dotyczący asercji w Javie. Omówiliśmy definicję i cel asercji w Javie. Aby użyć asercji w programie Java, musimy najpierw umożliwić im korzystanie z wiersza poleceń.
Zbadaliśmy różne sposoby, za pomocą których możemy włączyć asercje na poziomie programu, poziomu pakietu, poziomu katalogu itp. Słowo kluczowe Assert i instrukcje assert w Javie oraz ich szczegółowa składnia z przykładami programowania została omówiona. Słowo kluczowe assert i zestawienia aktywów pomagają nam używać asercji.
Widzieliśmy, że w przypadku niepowodzenia asercji podawany jest błąd AssertionError. Asercje w Javie są najczęściej używane w czasie kompilacji i są domyślnie wyłączone w czasie wykonywania.
Ponadto asercje są najczęściej używane w ramach JUnit języka Java, w którym piszemy przypadki testowe do testowania aplikacji.
=> Przeczytaj serię szkoleń Easy Java.
rekomendowane lektury
- Assertions in Selenium using Junit and TestNG Frameworks
- Przykłady twierdzeń o selenie - praktyczne zastosowania w projektach
- Asercja w teście SOAtest z przykładem kodu XML
- C ++ Assert (): Obsługa asercji w C ++ z przykładami
- Zrozumienie asercji w SoapUI - SoapUI Tutorial # 5
- Samouczek JAVA dla początkujących: ponad 100 praktycznych samouczków wideo Java
- Postrzępiona tablica w Javie - samouczek z przykładami
- Java DataTypes, pętle, tablice, przełącznik i asercje