Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Wie Man `Void`-Methoden Testet | Unit Tests
Java JUnit Bibliothek. Arten von Tests
course content

Kursinhalt

Java JUnit Bibliothek. Arten von Tests

Java JUnit Bibliothek. Arten von Tests

1. Testen in der Entwicklung
2. Unit Tests
3. Ausnahmen

book
Wie Man `Void`-Methoden Testet

Der Algorithmus zum Schreiben von Unit-Tests ist uns klar. Zuerst geben wir die input an, dann das expected Ergebnis und schließlich das actual Ergebnis, das von der zu testenden Methode zurückgegeben wird. Aber es stellt sich die Frage, wie man Methoden testet, die nichts zurückgeben?

Das Testen von void-Methoden kann ein herausfordernder Prozess sein, da wir den Rückgabewert nicht testen können. Allerdings ändern void-Methoden oft den Zustand eines Objekts, sodass wir ihre Funktionalität auf diese Weise testen können.

Zähler

Lassen Sie uns eine void-Methode schreiben, mit der wir arbeiten werden; es wird eine einfache Methode sein, die einen Wert erhöht ( ja, Java hat bereits eine solche Methode, aber ich denke, diese Methode wird ein ausgezeichnetes Beispiel für Tests sein ):

java

Counter

copy
1234567891011
public class Counter { private int count = 0; public void increment() { count++; } public int getCount() { return count; } }

Oben sehen Sie die Counter-Klasse, die eine increment-Methode enthält und eine Variable namens count speichert. Wenn wir beispielsweise etwas zählen müssen, können wir einfach diese Methode mit dem Konstrukt Counter.increment() aufrufen, und die private Variable count wird erhöht.

Tests erstellen

Zuerst müssen wir eine Instanz dieser Klasse erstellen und dann die void-Methode auf dieser Instanz verwenden.

Als nächstes überprüfen wir einfach, ob dieses Element nicht gleich null ist, und wenn es das nicht ist, bedeutet das, dass die Methode erfolgreich funktioniert hat und die Variable inkrementiert wurde. So wird der erste Unit-Test aussehen:

Wie Sie sehen können, haben wir den Algorithmus befolgt, und dann überprüfen wir den erwarteten Zustand des counter-Objekts.

Nach einer Inkrementierung hat das Objekt seinen Wert auf +1 geändert, daher sollte es gleich eins sein, und genau das überprüfen wir.

Das Einzige, was noch zu überprüfen ist, ist, wenn wir mehrfach inkrementieren. Schreiben wir zum Beispiel einen Unit-Test, bei dem wir die Variable count mehrmals inkrementieren und die Genauigkeit des Ergebnisses überprüfen:

Hier erstellen wir ebenfalls ein neues Objekt und rufen die Methode increment() dreimal auf. Dann vergleichen wir das Ergebnis mit 3, um zu testen, ob die Methode korrekt funktioniert.

Testoptimierung

Diese Tests können auch durch die Verwendung der @BeforeEach Annotation und das Erstellen eines Counter Objekts zu Beginn des Tests optimiert werden.

So können Sie es machen:

Auf diese Weise können wir die Erstellung des counter-Objekts aus jedem Unit-Test eliminieren, da es jetzt automatisch erstellt wird. Hier ist der endgültige Code für das Unit-Testing der void increment()-Methode:

Im nächsten Kapitel werden wir die verschiedenen Arten von Assertions besprechen und wie man jede von ihnen verwendet.

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 5
We're sorry to hear that something went wrong. What happened?
some-alt