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