Hallo,
der Fach-Begriff dafür heisst
Mock-Objekt.
Wie das das umsetzt, hängt von deinen Wünschen ab.
Z.B. könnte man eine Boolean-Variable nehmen (bMock).
Ein Bsp. für einen
DB-Zugriff, bei dem die
DB auch nicht vorhanden ist
(ähnlich wie diene Hardware).
Delphi-Quellcode:
type
TClass = class
bMock: Boolean;
end;
function CreateClass(bMock: Boolean = False): TClass;
var
MyClass: TClass;
begin
MyClass:= TClass.Create;
MyClass.bMock:= bMock;
Result:= MyClass;
end;
procedure TClass.ReadFromDB;
begin
if not bMock then
begin
// normaler Zugriff
end
else
begin
// lese aus Textdatei
end;
end;
Ja, ich weiss, dass ist nicht genau ein Mock-Objekt (das wäre ein eigenes Objekt),
aber man ist ja faul.
Beim Erzeugen der Klasse kann eine Boolean-Variable übergehen werden,
dann reagiert sie anders bei den internen methoden.
Auch Compilerschalter sind denkar.
{$DEFINE MOCK} {$IFDEF MOCK}
Mache ich aber nicht gern, weil man immer alles neu compilieren muss
bei einer Änderung.
Heiko