You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Projekt: Modul 324 DevOps – ToDo-Applikation Komponente: Backend (Spring Boot) Datum der Durchführung: 29.05.2026 Durchgeführt von: Rudy, Martin Testumgebung: H2 In-Memory, JDK 21, mvn verify Gesamtergebnis: Alle 31 Tests bestanden
Übersicht
Testklasse
Testart
Anzahl Tests
Bestanden
Fehlgeschlagen
DemoApplicationTests
Kontexttest
1
1
0
TaskRepositoryTest
JPA-Slicetest
9
9
0
TaskServiceTest
Unit-Test (Mockito)
10
10
0
TaskControllerTest
Integrationstest (MockMvc)
11
11
0
Total
31
31
0
1. Kontexttest – DemoApplicationTests
Testart: Spring Context Test (@SpringBootTest) Zweck: Stellt sicher, dass der gesamte Spring-Kontext ohne Fehler startet.
#
Testmethode
Beschreibung
Ergebnis
1
contextLoads
Spring-Kontext startet ohne Fehler
Bestanden
2. Repository-Tests – TaskRepositoryTest
Testart: JPA-Slicetest (@DataJpaTest) Datenbank: H2 In-Memory Zweck: Prüft den direkten Datenbankzugriff über Spring Data JPA.
save – Persistierung
#
Testmethode
Beschreibung
Erwartetes Ergebnis
Ergebnis
2
save_shouldPersistTaskWithGeneratedId
Neue Task wird gespeichert und erhält eine generierte ID
id ≠ null, taskdescription = "Persistente Aufgabe", done = false
Bestanden
3
save_shouldPersistDoneFlag
Das done-Flag wird korrekt mit true persistiert
done = true
Bestanden
findById – Einzelsuche
#
Testmethode
Beschreibung
Erwartetes Ergebnis
Ergebnis
4
findById_shouldReturnPersistedTask
Gespeicherte Task wird über ID gefunden
Optional ist befüllt, Beschreibung korrekt
Bestanden
5
findById_withUnknownId_shouldReturnEmpty
Unbekannte ID gibt leeres Optional zurück
Optional.empty()
Bestanden
findAll – Gesamtabfrage
#
Testmethode
Beschreibung
Erwartetes Ergebnis
Ergebnis
6
findAll_shouldReturnAllPersistedTasks
Alle 3 gespeicherten Tasks werden zurückgegeben
Liste mit 3 Einträgen
Bestanden
7
findAll_shouldReturnEmptyListWhenNoTasksExist
Leere Datenbank liefert leere Liste
Leere Liste
Bestanden
deleteById – Löschen
#
Testmethode
Beschreibung
Erwartetes Ergebnis
Ergebnis
8
deleteById_shouldRemoveTask
Task wird dauerhaft aus der Datenbank entfernt
findById gibt danach Optional.empty() zurück
Bestanden
existsById – Existenzprüfung
#
Testmethode
Beschreibung
Erwartetes Ergebnis
Ergebnis
9
existsById_shouldReturnTrueForExistingTask
Vorhandene Task: existsById = true
true
Bestanden
10
existsById_withUnknownId_shouldReturnFalse
Unbekannte ID: existsById = false
false
Bestanden
3. Service-Tests – TaskServiceTest
Testart: Unit-Test mit Mockito (@ExtendWith(MockitoExtension.class)) Datenbank: Kein Datenbankzugriff (Repository gemockt) Zweck: Prüft die Geschäftslogik im TaskService vollständig isoliert.
findAll – Alle Tasks laden
#
Testmethode
Beschreibung
Erwartetes Ergebnis
Ergebnis
11
findAll_shouldReturnAllTasks
Repository gibt 2 Tasks zurück, Service leitet weiter
Liste mit 2 Einträgen, findAll() 1× aufgerufen
Bestanden
12
findAll_shouldReturnEmptyListWhenNoTasks
Repository gibt leere Liste zurück
Leere Liste
Bestanden
create – Task erstellen
#
Testmethode
Beschreibung
Erwartetes Ergebnis
Ergebnis
13
create_shouldSaveAndReturnTask
Task wird gespeichert und zurückgegeben
Beschreibung korrekt, save() 1× aufgerufen
Bestanden
14
create_shouldTrimWhitespaceFromDescription
Leerzeichen am Rand der Beschreibung werden entfernt
" Aufgabe " → "Aufgabe"
Bestanden
update – Task bearbeiten
#
Testmethode
Beschreibung
Erwartetes Ergebnis
Ergebnis
15
update_shouldUpdateAndReturnTask
Bestehende Task erhält neue Beschreibung
Neue Beschreibung korrekt gespeichert
Bestanden
16
update_withUnknownId_shouldThrow404
Update mit unbekannter ID wirft 404
ResponseStatusException mit HTTP 404
Bestanden
markDone – Task erledigen
#
Testmethode
Beschreibung
Erwartetes Ergebnis
Ergebnis
17
markDone_shouldSetDoneFlagToTrue
done-Flag wird auf true gesetzt
task.isDone() = true
Bestanden
18
markDone_withUnknownId_shouldThrow404
Unbekannte ID wirft 404
ResponseStatusException mit HTTP 404
Bestanden
deleteById – Task löschen
#
Testmethode
Beschreibung
Erwartetes Ergebnis
Ergebnis
19
deleteById_shouldCallRepositoryDelete
deleteById() des Repositories wird genau einmal aufgerufen