Jason. Cała informatyka w jednym miejscu!

Temat artykułu: pojęcie asercji i słowo kluczowe "assert" w języku Java. Nie jest to tak regularnie stosowane jak tworzenie klas, jednak warto się co nieco o tym dowiedzieć, zwłaszcza jeżeli zapragniesz testować swoją aplikację pod kątem weryfikacji poprawności pewnych wrażliwych wyrażeń 😯. Zapraszam do środka po wiedzę 📖!

"ASSERT" W JĘZYKU JAVA SPRAWDZI, CZY TEST PRZESZEDŁ POMYŚLNIE...

Asercja to instrukcja badająca czy dane wyrażenie jest spełnione. Działa trochę jak instrukcja warunkowa, jednak w przeciwieństwie do niej, nie umieszczamy żadnych instrukcji, a w przypadku gdy warunek nie jest spełniony, dochodzi do przerwania działania programu, bo wyrzuca błąd "AssertionError". Błąd, nie wyjątek!

Asercja należy do narzędzi testowania oprogramowania i przydaje się do badania wszystkich niepożądanych przypadków, takich jak dzielenie przez zero, próba odwołania się do obiektu, a zmienna referencyjna przyjmuje wartość "null" i tak dalej.

TROCHĘ KODU NIE ZASZKODZI

Słowo kluczowe odpowiedzialne za asercje to "assert". "assert" w języku Java ma bardzo prostą składnię i zawiera cztery elementy 4️⃣:

assert x > 0 : "x <= 0";
  1. słowo kluczowe "assert",
  2. wyrażenie logiczne,
  3. dwukropek (opcjonalnie),
  4. treść komunikatu w przypadku zgłoszenia błędu "AssertionError" (łańcuch znaków, opcjonalnie).

Asercja działa bardzo prosto - w momencie uruchomienia programu i dojścia do tej instrukcji, sprawdzany jest podany warunek czy jest prawdziwy. Jeżeli jest, to program przebiega normalnie. Jak nie, program jest natychmiast przerywany.

ASERCJE TRZEBA POBUDZIĆ DO DZIAŁANIA 🙂

Instrukcja "assert" w języku Java domyślnie jest nieaktywna. Żeby jej "otworzyć oczy", musisz dopisać specjalną flagę do wirtualnej maszyny. Podejście różni się zależnie od tego, w jakim środowisku pracujesz.

WIERSZ POLECEŃ (CMD)

Po uprzednim skompilowaniu programu (opisywałem to tutaj), wpisz polecenie uruchamiające program dodając flagę "-enableassertions" pomiędzy słowem kluczowym "java", a nazwą klasy uruchomieniowej (ewentualnie z ciągiem folderów, jeżeli jest w pakiecie):

java -enableassertions Main

albo skrótowo:

java -ea Main
"INTELLIJIDEA"

W "IntelliJIDEA", musisz przejść do menu kryjącego się pod przyciskiem z ikoną trzech kropek ustawionych pionowo, tuż obok przycisku do uruchamiania programu i kliknąć "Edit...":

Edycja ustawień uruchamiania programu w "IntelliJIDEA"

Przycisk wyświetlający okno do edycji ustawień uruchamiania programu w programie "IntelliJIDEA".

W nowo otwartym oknie zaznaczasz opcję "Modify options" i z sekcji "Java" wybierasz ostatnią opcję: "Add VM options":

Dodawanie opcji do wirtualnej maszyny języka Java w "IntelliJIDEA"

Przycisk przeznaczony do dodawania opcji do wirtualnej maszyny Javy.

W polu tekstowym "VM options", wpisujesz "-enableassertions" lub "-ea". I od tej pory "assert" w języku Java będzie wpływało na przebieg programu 👍. Potem musisz tylko wyczyścić to samo pole chcąc wyłączyć działanie asercji.

Zaletą stosowania asercji jest możliwość ich dezaktywacji bez usuwania instrukcji. Po prostu usuwa się flagę "-ea" i już, program nie jest obciążony weryfikacją warunków.

Słowo kluczowe "assert" w języku Java

Asercja to instrukcja przerywająca działanie aplikacji w momencie, gdy podany warunek nie zostaje spełniony. Jako, że to jest narzędzie diagnostyczne i nie jest domyślnie włączone, wymaga dodania flagi "-ea" do ustawień wirtualnej maszyny.


Wszystko na temat asercji. To jedynie dodatek do diagnostyki aplikacji, który może Ci się przydać, gdy kod się rozrośnie do poziomu wykraczającego poza możliwość ogarnięcia wszystkiego wzrokiem 👀. Na szczęście "assert" w języku Java może Ci pomóc w sprawdzeniu wszystkich punktów decyzyjnych 😊.

PODOBNE ARTYKUŁY