Das Testen von Code, der eine Datenbank verwendet, ist anspruchsvoll — du benötigst realistisches Datenverhalten ohne Flakiness oder Langsamkeit. Ansätze umfassen Test-Datenbanken, In-Memory-Datenbanken, Transaktionen/Rollback und Mocking der Datenschicht — jeder mit Vor- und Nachteilen.
Die Herausforderung
Database-interacting code needs testing, but databases bring challenges:
→ real DB → realistic but SLOWER; needs SETUP and CLEANUP (state between tests)
→ shared state → tests can interfere (order dependence, flakiness)
→ mocking the DB → fast but may not catch real query/integration bugs
→ Choose an approach balancing realism, speed, and isolation.
