Du solltest der Geschäftslogik-Klasse etwas Abstraktes übergeben um darüber die Daten zu laden.
z.B.
Delphi-Quellcode:
TMyData = record
Id: Integer;
Name: string;
end;
IDataProvider = interface
function GetAllData() : TArray<TMyData>;
end;
In deiner Anwendung implementierst du dir da etwas mit einer
Query-Komponente und fragst die Datenbank.
Für den Test nimmst du eine Mocking-Framework oder erstellst eine ganz simple Test-Implementierung die feste Werte zurück liefert.
Wenn eine Spalte in der Tabelle hinzukommt dann ist das egal, denn die
Query SELECT Id, Name FROM MyData
nimmt ja nur die Felder die sie abfragt.
Wenn du eine Spalte in der Tabelle entfernst, dann ist das auch egal, solange es keine Spalte ist, die abgefragt wird.
Aber das sollte ja auch logisch sein.