api:documentation:junit:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
api:documentation:junit:start [2024/12/03 14:21] – martin | api:documentation:junit:start [2024/12/03 15:37] (aktuell) – [JUnit] martin | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Unit Tests ====== | ====== Unit Tests ====== | ||
+ | ===== Definitionen ===== | ||
+ | <WRAP center round info 60%> | ||
+ | **Unit tests** \\ | ||
+ | Bei einem **unit test** (auf deutsch: " | ||
+ | **Automatisierte unit tests** \\ | ||
+ | Oft werden unit tests automatisiert durchgeführt, | ||
+ | **Test driven development** \\ | ||
+ | Beim **test driven development** schreibt man ausgehend von einer Anforderung einen unit tests der Überprüft, | ||
+ | |||
+ | </ | ||
+ | |||
+ | ===== JUnit ===== | ||
+ | <WRAP center round info 60%> | ||
+ | **JUnit** ist das am weitesten verbreitete Test-Framework für Java. Meist wird es zusammen mit einem **test runner** in der Entwicklungsumgebung verwendet, der das aktuelle Projekt automatisiert nach JUnit-Tests absucht, die gefundenen Tests übersichtlich anzeigt und das Starten der Tests ermöglicht. Nachdem die Tests ausgeführt wurden, stellt der test runner die Ergebnisse übersichtlich dar. \\ \\ | ||
+ | **Schreiben von JUnit-Tests** \\ | ||
+ | JUnit-Tests sind Testmethoden innerhalb von Test-Klassen. Diese müssen folgenden Vorgaben genügen: | ||
+ | * Die **Testklasse** muss einen **parameterlosen Konstruktor** besitzen und kann mit '' | ||
+ | * Jede **Testmethode** innerhalb der Testklasse muss | ||
+ | * **parameterlos** sein, | ||
+ | * **void** zurückliefern und | ||
+ | * mit '' | ||
+ | Innerhalt der Test-Methoden kann man durch sogenannte **assertions** dem test runner mitteilen, ob ein Test erfolgreich war ("test passed" | ||
+ | < | ||
+ | assertEquals(expected, | ||
+ | assertTrue(boolean condition, String errorMessage) | ||
+ | assertFalse(boolean condition, String errorMessage) | ||
+ | fail(String errorMessage) | ||
+ | assertCodeReached(String errorMessage) | ||
+ | </ | ||
+ | Die letzte dieser Methoden ('' | ||
+ | </ | ||
+ | |||
+ | ===== Beispiel ===== | ||
+ | Das folgende Programm besteht aus einer Klasse '' | ||
+ | //Tipp:// \\ | ||
+ | Falls ein Testlauf gescheitert ist und Sie den Fehler suchen, setzen Sie einfach einen Breakpoint im Programm und lassen Sie den Test erneut laufen. Der Testlauf hält dann bei Ihrem Breakpoint an, so dass Sie bequem den Debugger zur Fehlersuche nutzen können. | ||
api/documentation/junit/start.1733235686.txt.gz · Zuletzt geändert: 2024/12/03 14:21 von martin