Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Modulares Testen Mit JUnit | Testen von Backend-Anwendungen
Spring Boot Backend
course content

Kursinhalt

Spring Boot Backend

Spring Boot Backend

1. Grundlagen der Backend-Entwicklung
2. Spring Boot Grundlagen
3. RESTful API
4. Arbeiten mit Datenbanken
5. Testen von Backend-Anwendungen

book
Modulares Testen Mit JUnit

Als wir die Architektur der Anwendung überprüften, übersprangen wir das test-Verzeichnis, das für Tests vorgesehen war. Jetzt werden wir einen genaueren Blick darauf werfen, wie man diese Tests schreibt und was dafür erforderlich ist.

Grundlegende Konzepte

Für das Testen verwenden wir die JUnit Bibliothek. Dies ist eines der beliebtesten Frameworks für Unit-Tests in Java-Anwendungen. Es ist einfach zu verwenden und zu integrieren, insbesondere mit Spring Boot.

Um JUnit zu verwenden, müssen wir eine Abhängigkeit zu unserer pom.xml Datei hinzufügen.

Jetzt sind wir bereit, unseren ersten Test in unserer Anwendung zu schreiben!

Test Schreiben

Jetzt werden wir einen Test schreiben, der nicht direkt mit unserer Anwendung zusammenhängt, aber Ihnen helfen wird, das Konzept des Testens zu verstehen.

In Spring Boot befinden sich Tests typischerweise im Verzeichnis src/test/java, das automatisch erstellt wird, wenn das Projekt initialisiert wird. Hier können wir unseren Test erstellen.

Lassen Sie uns eine Klasse namens SimpleTest erstellen, und darin können wir eine Test-Methode namens testSum() erstellen.

SimpleTest

SimpleTest

copy
123456789101112
public class SimpleTest { // This method tests the sum of two integers. @Test public void testSum() { // Perform the sum of 2 and 2 and store the result in a variable. int result = 2 + 2; // Assert that the result is equal to 4. assertEquals(4, result); } }

Die @Test Annotation in JUnit zeigt an, dass die Methode ein Test ist und während des Testprozesses ausgeführt werden sollte.

Innerhalb des Tests wird eine Assertion verwendet: assertEquals(4, result), die überprüft, ob das Berechnungsergebnis dem erwarteten Wert entspricht. Wenn das result die Erwartungen nicht erfüllt, wird der Test als nicht erfolgreich angesehen, was auf ein Problem in der Logik des Programms hinweist.

Durch das Ausführen unseres Tests können wir sehen, dass er erfolgreich bestanden wurde!

Regeln zum Schreiben von Tests

In Unit-Tests ist es wichtig, ein klares und strukturiertes Benennungssystem für Klassen und Methoden zu befolgen, damit Tests lesbar und leicht zu warten sind.

Klassennamen

Der Name der Klasse, die getestet wird, sollte den Suffix Test enthalten. Zum Beispiel, wenn wir eine Klasse namens BookController testen, würde die entsprechende Testklasse BookControllerTest heißen.

Methodennamen

Testmethoden sollten beschreibend sein, damit jeder, der sie liest, verstehen kann, was getestet wird. Ein gutes Namensschema beinhaltet: (Was getestet wird) _ (Unter welchen Bedingungen) _ (Erwartetes Ergebnis).

In diesem Testnamen zeigt testCreateUser an, dass der Prozess des Erstellens eines Benutzers getestet wird. Der nächste Teil, whenInputIsValid, beschreibt die Bedingungen, unter denen der Test durchgeführt wird — speziell, wenn die Benutzereingabe gültig ist. Schließlich gibt shouldReturnCreatedUser das erwartete Ergebnis an — die Methode sollte den erstellten Benutzer zurückgeben.

Zusammenfassung

Unit-Tests mit JUnit ermöglichen die Überprüfung der Korrektheit einzelner Teile einer Anwendung in Isolation, was eine hohe Codequalität und Systemstabilität bei Änderungen sicherstellt.

JUnit bietet praktische Werkzeuge zum Schreiben, Ausführen und Organisieren von Tests, was es zur primären Wahl für das Testen von Java-Anwendungen, einschließlich Spring Boot, macht.

1. Was bewirkt die @Test-Annotation in JUnit?

2. Welche Namenskonvention sollte für Testklassen in JUnit verwendet werden?

Was bewirkt die `@Test`-Annotation in JUnit?

Was bewirkt die @Test-Annotation in JUnit?

Wählen Sie die richtige Antwort aus

Welche Namenskonvention sollte für Testklassen in JUnit verwendet werden?

Welche Namenskonvention sollte für Testklassen in JUnit verwendet werden?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

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