Modulares Testen mit JUnit
Beim Überblick über die Architektur der Anwendung haben wir das test-Verzeichnis ausgelassen, das für Tests vorgesehen ist. Nun erfolgt eine detaillierte Betrachtung dazu, wie diese Tests zu schreiben sind und welche Voraussetzungen dafür bestehen.
Grundlegende Konzepte
Für Tests wird die JUnit-Bibliothek verwendet. 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, muss eine Abhängigkeit in die pom.xml-Datei aufgenommen werden.
Jetzt sind wir bereit, unseren ersten Test in unserer Anwendung zu schreiben!
Test schreiben
Nun werden wir einen Test schreiben, der nicht direkt mit unserer Anwendung zusammenhängt, aber Ihnen hilft, das Konzept des Testens zu verstehen.
In Spring Boot befinden sich Tests typischerweise im Verzeichnis src/test/java, das beim Initialisieren des Projekts automatisch erstellt wird. Hier können wir unseren Test erstellen.
Erstellen Sie eine Klasse mit dem Namen SimpleTest und darin eine Test-Methode namens testSum().
SimpleTest
Die @Test-Annotation in JUnit kennzeichnet die Methode als Test und sorgt dafür, dass sie während des Testprozesses ausgeführt wird.
Im Test wird eine Assertion verwendet: assertEquals(4, result), die überprüft, ob das Berechnungsergebnis dem erwarteten Wert entspricht. Falls das result nicht den Erwartungen entspricht, wird der Test als fehlgeschlagen betrachtet, was auf ein Problem in der Programmlogik hinweist.
Durch das Ausführen unseres Tests können wir sehen, dass er erfolgreich bestanden wurde!
Regeln für das Schreiben von Tests
In Unit-Tests ist es wichtig, ein klares und strukturiertes Benennungssystem für Klassen und Methoden einzuhalten, damit Tests lesbar und leicht zu warten sind.
Klassennamen
Der Name der zu testenden Klasse sollte den Suffix Test enthalten. Beispielsweise, wenn eine Klasse namens BookController getestet wird, würde die entsprechende Testklasse BookControllerTest heißen.
Methodennamen
Testmethoden sollten aussagekräftig benannt werden, sodass jeder Lesende sofort versteht, was getestet wird. Ein gutes Benennungsschema beinhaltet: (Was getestet wird) _ (Unter welchen Bedingungen) _ (Erwartetes Ergebnis).
testCreateUser_whenInputIsValid_shouldReturnCreatedUser
In diesem Testnamen zeigt testCreateUser an, dass der Vorgang der Benutzererstellung getestet wird. Der nächste Teil, whenInputIsValid, beschreibt die Bedingungen, unter denen der Test durchgeführt wird – nämlich wenn die Benutzereingabe gültig ist. Schließlich gibt shouldReturnCreatedUser das erwartete Ergebnis an – die Methode sollte den erstellten Benutzer zurückgeben.
Zusammenfassung
Unit-Testing mit JUnit ermöglicht die Überprüfung der Korrektheit einzelner Teile einer Anwendung in Isolation und stellt so eine hohe Codequalität und Systemstabilität bei Änderungen sicher.
JUnit bietet praktische Werkzeuge zum Schreiben, Ausführen und Organisieren von Tests und ist damit die erste Wahl für das Testen von Java-Anwendungen, einschließlich Spring Boot.
1. Was bewirkt die Annotation @Test in JUnit?
2. Welche Namenskonvention sollte für Testklassen in JUnit verwendet werden?
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Awesome!
Completion rate improved to 3.45
Modulares Testen mit JUnit
Swipe um das Menü anzuzeigen
Beim Überblick über die Architektur der Anwendung haben wir das test-Verzeichnis ausgelassen, das für Tests vorgesehen ist. Nun erfolgt eine detaillierte Betrachtung dazu, wie diese Tests zu schreiben sind und welche Voraussetzungen dafür bestehen.
Grundlegende Konzepte
Für Tests wird die JUnit-Bibliothek verwendet. 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, muss eine Abhängigkeit in die pom.xml-Datei aufgenommen werden.
Jetzt sind wir bereit, unseren ersten Test in unserer Anwendung zu schreiben!
Test schreiben
Nun werden wir einen Test schreiben, der nicht direkt mit unserer Anwendung zusammenhängt, aber Ihnen hilft, das Konzept des Testens zu verstehen.
In Spring Boot befinden sich Tests typischerweise im Verzeichnis src/test/java, das beim Initialisieren des Projekts automatisch erstellt wird. Hier können wir unseren Test erstellen.
Erstellen Sie eine Klasse mit dem Namen SimpleTest und darin eine Test-Methode namens testSum().
SimpleTest
Die @Test-Annotation in JUnit kennzeichnet die Methode als Test und sorgt dafür, dass sie während des Testprozesses ausgeführt wird.
Im Test wird eine Assertion verwendet: assertEquals(4, result), die überprüft, ob das Berechnungsergebnis dem erwarteten Wert entspricht. Falls das result nicht den Erwartungen entspricht, wird der Test als fehlgeschlagen betrachtet, was auf ein Problem in der Programmlogik hinweist.
Durch das Ausführen unseres Tests können wir sehen, dass er erfolgreich bestanden wurde!
Regeln für das Schreiben von Tests
In Unit-Tests ist es wichtig, ein klares und strukturiertes Benennungssystem für Klassen und Methoden einzuhalten, damit Tests lesbar und leicht zu warten sind.
Klassennamen
Der Name der zu testenden Klasse sollte den Suffix Test enthalten. Beispielsweise, wenn eine Klasse namens BookController getestet wird, würde die entsprechende Testklasse BookControllerTest heißen.
Methodennamen
Testmethoden sollten aussagekräftig benannt werden, sodass jeder Lesende sofort versteht, was getestet wird. Ein gutes Benennungsschema beinhaltet: (Was getestet wird) _ (Unter welchen Bedingungen) _ (Erwartetes Ergebnis).
testCreateUser_whenInputIsValid_shouldReturnCreatedUser
In diesem Testnamen zeigt testCreateUser an, dass der Vorgang der Benutzererstellung getestet wird. Der nächste Teil, whenInputIsValid, beschreibt die Bedingungen, unter denen der Test durchgeführt wird – nämlich wenn die Benutzereingabe gültig ist. Schließlich gibt shouldReturnCreatedUser das erwartete Ergebnis an – die Methode sollte den erstellten Benutzer zurückgeben.
Zusammenfassung
Unit-Testing mit JUnit ermöglicht die Überprüfung der Korrektheit einzelner Teile einer Anwendung in Isolation und stellt so eine hohe Codequalität und Systemstabilität bei Änderungen sicher.
JUnit bietet praktische Werkzeuge zum Schreiben, Ausführen und Organisieren von Tests und ist damit die erste Wahl für das Testen von Java-Anwendungen, einschließlich Spring Boot.
1. Was bewirkt die Annotation @Test in JUnit?
2. Welche Namenskonvention sollte für Testklassen in JUnit verwendet werden?
Danke für Ihr Feedback!