2008-11-16 4 views

Antwort

20

Woaw, ich bin der Projektleiter von PascalMock und es ist das erste Mal, dass ich von Delphi Mock Wizard gehört habe! Sehr schöne Ergänzung zu PascalMock.

BTW haben Sie auch einige kleinere Mock Frameworks:

Vielleicht ein paar andere, die Herum gibt es?

Auch PascalMock ist Open Source und Anregungen oder Verbesserungsvorschläge sind willkommen.

PS: Die neueste PascalMock Version von CVS auf die Version 1.1 zusätzliche Funktionen hinzufügen, wie:

  • automatische Scheinerstellung zur Laufzeit für Schnittstellen RTTI mit
  • erlauben
  • in beliebiger Reihenfolge Methoden ruft erwartet
  • erwartet mindestens x Anrufe eines Verfahrens
11

Obwohl es stabil ist, hat PascalMock wurde seit Jahren nicht mehr gearbeitet.

Es gibt eine neue Scheinbibliothek namens . Es funktioniert nur mit Delphi XE2 oder neuer.

2

Delphi Mock Wizard generiert nur Assistenten für Pascal Mock. Sie sind keine konkurrierenden Implementierungen.

7

Versuchen Sie Dsharp. Es ist wie Delphi Mocks, aber ohne Memory Leaks.

IMHO DSHARP ist besser, obwohl ich zuerst mit Delphi Mocks aufgeregt war.

5

Unsere Open Source mORMot framework ist nun in der Lage, in seiner instabilen Version, zu Stummel oder Mock jede Delphi-Schnittstelle.

Wie üblich ist der beste Weg, um zu erklären, was eine Bibliothek tut, den Code zu betrachten, der sie benutzt. Hier ist ein Beispiel (ähnlich dem mit RhinoMocks ausgeliefert) zu überprüfen, dass, wenn wir die „Details vergessen“ Szenario ausführen, erinnerten wir uns richtig die Save() Methode aufzurufen:

procedure TMyTest.ForgotMyPassword; 
var SmsSender: ISmsSender; 
    UserRepository: IUserRepository; 
begin 
    TInterfaceStub.Create(TypeInfo(ISmsSender),SmsSender). 
    Returns('Send',[true]); 
    TInterfaceMock.Create(TypeInfo(IUserRepository),UserRepository,self). 
    ExpectsCount('Save',qoEqualTo,1); 
    with TLoginController.Create(UserRepository,SmsSender) do 
    try 
    ForgotMyPassword('toto'); 
    finally 
    Free; 
    end; 
end; 

Und ...Das ist alles, da die Verifizierung stattfindet, wenn die IUserRepository Instanz freigegeben wird.

Verfügbare Funktionen (einige im Vergleich zu anderen Delphi spöttischen Frameworks einzigartig sind):

  • Klar distinction between stubs and mocks, mit Integration mit our Unit Testing classes;
  • Handle var und out Parameter als zurückgegebenen Wert, zusätzlich zu einer Funktion Ergebnis;
  • Stubbing-Definition über eine fließende Schnittstelle oder einen Delegaten/Callback;
  • Verspottung über "expect-run-verify" und/oder "run-verify" (alias "test spy") Muster, je nach Test-Erwartungen;
  • Integrierte Methodenaufrufe;
  • Open Source, von Delphi 6 bis XE3;
  • Leicht und schnell (verlassen Sie sich nicht auf langsam TVirtualInterface).

Siehe ähnlichen Blog-Artikel:

Verwandte Themen