Du liest:
Java Assert: So kannst du dein Code testen! [2022]

Java Assert: So kannst du dein Code testen! [2022]

22.06.2022
Mit den Java assert Methoden können wir als Programmierer in unserem Source Code (oder Programme) bestimmte Annahmen testen!

Die Java assert Anweisung wird in der Java-Programmierung zur Durchführung von sog. Assertions (Behauptungen / Annahmen) verwendet. Die  Behauptung ist ein Mittel, um einen bestimmten Teil des Codes zu testen. Die Behauptung muss wahr sein, um den Ausführungsprozess zu starten. Ist die Behauptung hingegen falsch, hält das Programm sofort an und es wird ein Fehler gemeldet. Ziel dieses Artikels ist es, einen Einblick in die Verwendung des assert-Schlüsselworts in Java mit den folgenden Lernergebnissen zu geben.

  • Wie funktioniert die Java assert-Anweisung?
  • Wie verwendet man das Java assert Schlüsselwort?

Wie funktioniert die Java assert Anweisung?

Das Schlüsselwort assert funktioniert genauso wie die Java if-Anweisung. Die if-Anweisung und die assert-Anweisung arbeiten mit der wahren Bedingung. Java assert funktioniert mit der folgenden Syntax:

assert ausdruck-1 : ausdruck(ausgabe);

Der ausdruck-1 sollte eine boolesche (Wahr/Falsch) Bedingung sein. Der ausdruck(ausgabe) enthält die Ausgabe, die auf der Konsole gedruckt wird, wenn ausdruck-1 zu einem Fehler führt.

Bedeutung von Java assert

Assertion hilft bei der Verfolgung von Daten, die möglicherweise nicht zum Testen verwendet wurden. Betrachten wir die folgende einfache if-Anweisung.

if (punktZahl > 90)
System.out.println("Die Note ist 1+");

Wir haben eine Schule und bewerten in der Regel auf einer Skala von 0 bis 100 Punkten. Dabei sollen alle Arbeiten der Schüler, welche mehr als 90 Punkte erreicht haben, mit einer 1+ benotet werden. Betrachten wir nun die Bedingung im Detail.

Wenn die Punktzahl größer als 90 ist, dann wird der Compiler “Die Note ist 1+” ausgeben. Wenn ein Benutzer 250 eingibt, wird ebenfalls “Die Note ist A+“ausgegeben. Gemäß einer if-else Java Anweisung ist dies zwar wahr, aber in der Praxis ist es nicht korrekt. Daher wird das Schlüsselwort assert verwendet, um diese Art von Fehlern zu erkennen.

Wie verwenden wir nun die assert-Anweisung in Java?

Das assert-Schlüsselwort wird verwendet, um die Assertion-Operation zu initiieren, jedoch ist die Assertion standardmäßig deaktiviert.

Bevor du assert verwendest, stelle sicher, dass es aktiviert ist.

So aktivierst du Assertion in Eclipse

Um sie in der Eclipse-IDE zu aktivieren, musst du zur Option Run Configurations für eine bestimmte Klasse navigieren.

In den Konfigurationseinstellungen,

  • navigiere zur Registerkarte “Argumente“.
  • Markiere den Klassennamen, auf den die Assertion angewendet werden soll (in unserem Fall ist es Assert)
  • gebe “-ea” in das Textfeld “VM-Argumente” ein

Klicke nun auf “Run“, um die Änderungen zu übernehmen.

Verwendung von Assertions zur Verarbeitung von if-Anweisungen

Der folgende Java-Code verwendet Assert anstelle einer if-else-Anweisung. Betrachten wir die folgende if-else-Anweisung.

public class Main {
    public static void main(String[] args) {
        if (punktZahl > 90) {
            System.out.println("Die Note ist 1+");
        } else {
            System.out.println("Das wäre eine 2");
        }
    }
}

Dasselbe Szenario kann mit dem Schlüsselwort assert wie folgt gehandhabt werden.

public class Main {

    public static void main(String[] args) {

        Scanner dieErreichtePunktzahl = new Scanner(System.in);

        // Eingabe des Lehrers
        System.out.println("Bitte gebe die erreichte Punktzahl ein: ");

        int meinePunktzahl = dieErreichtePunktzahl.nextInt();

        assert(meinePunktzahl > 90 && meinePunktzahl <= 100): "Bitte gib eine gültige Punktzahl an";
        if (meinePunktzahl > 90) {
            System.out.println("Das wäre eine 1+");
        }
        dieErreichtePunktzahl.close();
    }
}

Im obigen Java-Code,

  • muss der Benutzer einen Integer-Wert eingeben, der in der Variablen “meinePunktzahl” gespeichert wird.
  • Das assert-Schlüsselwort wird verwendet, um die Punktzahl auf einen Wert zwischen 90 und 100 zu beschränken.

Wenn die Assert-Bedingung falsch ist, wird ein Assertion-Fehler (auch bekannt als AssertionError) mit dem Hinweis “Bitte gib eine gültige Punktzahl an” ausgegeben. Außerdem wird das Programm sofort abgebrochen.

Ausgabe auf der Konsole (wenn die Assert-Bedingung falsch ist)

Wie du siehst, schmeissen unsere Assertions (dt. Annahmen) einen sogenannten. Assertionerror!

der Wert 390 erfüllt die Assert-Bedingung nicht, daher wird ein Assertion-Fehler mit dem Hinweis “Enter Valid Score” ausgegeben.

Ausgabe auf der Konsole (wenn die Assert-Bedingung wahr ist)

Auf der codegree Seite kannst du kostenlos programmieren lernen!

Die Ausgabe zeigt, dass die Assert-Bedingung für 96 wahr ist, daher wird das Programm normal ausgeführt.

Zusammenfassung: Die Java assert-Anweisung

Das assert-Schlüsselwort wird zur Durchführung von einer Assertion in Java verwendet. Die Java-Assertion ist standardmäßig deaktiviert. Dieser informative Beitrag bietet einen Einblick in Java Assert-Anweisungen und dient mehreren Lernzielen. Es werden die Grundlagen der Assert-Anweisung und ihre Bedeutung beschrieben. Außerdem haben wir ein Beispiel vorgestellt, um die Verwendung des assert-Schlüsselworts in Java zu demonstrieren. Wenn du mehr über Java lernen willst, schau dich gerne bei uns um!



Bislang gibt es keine Kommentare. Markier dein Revier und sei der Erste!

Schreibe einen Kommentar

Das könnte dich auch interessieren

Arrow-up

Programmieren lernen war noch nie so einfach.

Lerne von echten Experten durch echte Praxisprojekte und mit individueller Hilfe, falls du mal nicht weiterkommst!

keine Zahlungsdaten notwendig!