Meine Klassen folgen dieser Struktur
- Service Tier (erstellt und ordnet InputDTO DB-Daten zu)
- DAO Tier (führt tatsächlich DB-Aufrufe aus)
Wenn ich JUnit-Tests der Service-Schicht schreibe, wird die DAO-Schicht aufgerufen. Dies erwartet eine tatsächliche DB-Verbindung und das Abrufen von Daten aus der DB.
Sollte ich die DAO-Schicht vollständig von der Service-Schicht verspotten oder sollte ich die DB-Verbindung und die von der DB empfangenen Daten verspotten?
Zweitens erwartet die App bestimmte Daten aus einem Cache.
Für die JUnit-Laufzeit gibt es keinen Cache. Wie soll damit umgegangen werden? Die Service-Tier-Methode umfasst das Nachschlagen des Caches, um die Details abzurufen.