Codebeispiele für meinen Vortrag Das untere Ende der Testpyramide
- Java 21
 - Maven >= 3.9.x
 - Docker >= 3.0
 
- BookRepository
- Erklären
 
 - BadBookRepositoryTest
- Kein IT → keine Abhängigkeiten → nur mocking ist erlaubt
 find by iderklären und Test ausführen ✅find by iddurch Alternative ersetzen= bookJpaRepository.getReferenceById(id)- Test schlägt fehl 💥
 - Verstoß gegen Unit-Test sollen Refactoringsicher sein
 - Beispiel für Das passiert bei Whitebox-Testing
 
find by titleerklären und Test ausführen ✅- Öffne BookJpaRepository
- Query anpassen (z.B. 
*durchbersetzen) - Test schlägt fehl 💥
 - Frage: Was ist eigentlich die Aufgabe eines Repositories?
 
 - Query anpassen (z.B. 
 
- Öffne BookJpaRepository
 
 - GoodBookRepositoryTest
AbstractPostgreSQLTeststellt die PostgreSQL über Docker bereitfind by idTest ausführen 💥 Aber der BadBookRepositoryTest schlug nicht fehl!find by idImplementierung anpassen und Test ausführen ✅find by titleTest ausführen ✅- Query in BookJpaRepository anpassen und Test ausführen 💥
 
 
- Datenbanktests können schnell sein
 - Datenbanktests sind kurz und übersichtlich
 - Datenbanktests testen die Wirklichkeit
 - Frage: Was wäre mit H2?
 
- BookRestController
- Erklären (siehe auch Mapper)
 
 - BadBookRestControllerTest
- Kein IT → keine Abhängigkeiten → nur mocking ist erlaubt
 store new bookerklären und Test ausführen ✅- Hinweis: Mocking für Mapper sieht genauso aus, wie der Mapper selbst
 - Frage: Wie sieht es mit der Lesbarkeit aus?
 
dtoToDomainMapperMockdurch echte Implementierung ersetzen- Test ausführen ✅
 - weniger Whitebox-Testing
 - bessere Lesbarkeit
 - Frage: Warum ist es kein Unit-Test mehr?
 
- Ändere Pattern in 
BookDto(BookRestController) zuyyyy-MM-dd- Test schlägt fehl 💥
 
 
 - GoodBookRestControllerTest
store new bookerklären und Test ausführen ✅- Spring Boot Slice Test
 
 
- Aufgabe des Controllers ist Mapping und Übergabe an nächste Schicht
 - Wie JSON zu Domain gemapped wird ist eigentlich™️ egal