Einzelnen Beitrag anzeigen

TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.824 Beiträge
 
Delphi 12 Athens
 
#1

DB Code und Unit Testen

  Alt 18. Aug 2019, 09:41
Datenbank: Firebird • Version: 2.5+ • Zugriff über: FireDAC
Hallo,

ich plane mittels FireDAC daten aus einer DB in Geschäftslogikklassen zu laden.
Die Daten werden dabei mehrheitlich als Listen gehalten werden.

Die Frage ist nun, wie trenne ich das Laden aus der DB so ab, dass ich die
Geschäftslogikklassen Unit Testen kann?

Eine Idee war der Geschäftslogikklasse die geöffnete FDQuery zu übergeben, da
diese Geschäftslogikklasse auch für den Aufbau der Liste zuständig sein soll
(da sie sonst wenig Funktionalität hat). Ich könnte mir an der Stelle vorstellen,
dass der Unit test eine FDQuery übergibt die auf eine InMemory Tabelle, was FireDAC
ja kann, zeigt in die ich die Test Daten vorher im setup des Unit Tests geschrieben
habe.

Ist das ein sinnvoller Weg?

Noch eine Frage: wenn ich in einer Schleife alle selektierten Datensätze auslesen
möchte um diese in die Datenstruktur im Speicher zu laden wäre es vermutlich nicht
so performant immer mittels FieldByName in jedem Schleifendurchlauf die jeweilige
Spalte und deren Wert anzusprechen. Oder? Welche Alternative gibt es zu FieldByName
die dann aber nicht gleich anfällig ist, wenn sich in der Struktur der DB Tabelle eine
Kleinigkeit ändert (z.B. Spalte zwischendrin hinzukommt oder wegfällt)?

Benutztes Delphi wird Rio sein.

Grüße
TurboMagic
  Mit Zitat antworten Zitat