Einzelnen Beitrag anzeigen

Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.016 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#6

AW: Frage zu Mocking

  Alt 1. Jun 2017, 11:13
Danke für die ausführliche Antwort!

Ein Weg, eine solche Abhängigkeit aufzubrechen, wäre, entweder eine eigene Ableitung dieser 3rd party Klasse zu machen und ein Interface implementieren zu lassen.
Das war mein erster Versuch, aber die Methoden der 3rd party Klasse sind ja nicht virtuell.
Müssen sie auch nicht - Beispiel:

Delphi-Quellcode:
type
  TWuppdi = class // third party
  public
    procedure DoThings;
    procedure DoOtherThings;
  end;

  IWuppdi = interface
    procedure DoThings;
    procedure DoOtherThings;
  end;

  TInterfacedWuppdi = class(TWuppdi, IWuppdi)
    // möglicherweise noch die 3 IInterface Methoden implementieren
    // hängt davon ab, wovon TWuppdi ursprünglich ableitet
  end;
Dein Code nimmt dann statt einem TWuppdi Objekt das IWuppdi Interface entgegen und das lässt sich ausmocken.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie ( 1. Jun 2017 um 11:24 Uhr)
  Mit Zitat antworten Zitat