Einzelnen Beitrag anzeigen

hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#17

Re: SQL Fehler, war zuvor nicht da, seid ??? vorhanden.

  Alt 9. Sep 2009, 08:17
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
Heiko
  Mit Zitat antworten Zitat