![]() |
Welches Mock-Framwork?
Hallo,
ich überlege gerade für ein weiteres Projekt Mocks einzusetzen. Was nehme ich da am Besten? Ich habe schon etwas geggogelt und da gibt es " ![]() (Ich verwende kein DUnitX, sondern das "normale" Framework.) |
AW: Welches Mock-Framwork?
Spring4D natürlich! 8-)
Ich bin da ja ein bisschen voreingenommen, aber ich behaupte, dass meine Implementierung fortgeschrittener ist, als die von Delphi-Mocks. |
AW: Welches Mock-Framwork?
|
AW: Welches Mock-Framwork?
Lass mir ruhig reichlich Feedback zukommen, gern auch per email.
|
AW: Welches Mock-Framwork?
Kein Mensch der Welt kann ernsthaft etwas Schlechtes gegen Spring4D sagen.
Trotzdem, ich habe für meinen Teil nie verstanden wofür ich ein komplexes Mocking-Framework, meist mit elaboraten und wohlklingenden Fluent Interfaces, brauche. Ich komme mit dem
Delphi-Quellcode:
aus
TVirtualMethodInterceptor
Delphi-Quellcode:
seit Jahren sehr schnell ans Ziel. Mir fehlt einfach die Phantasie was ein komplettes Framework hierfür mir bieten könnte, außer Dinge hinter wohlklingenden Abstraktionen zu verstecken in die man sich erst einarbeiten müsste.
System.Rtti
tl;dr: Ich glaube nicht dass man für Mocking ein Mocking-Framework haben muss. |
AW: Welches Mock-Framwork?
Zitat:
Delphi-Quellcode:
im Unittest kann wohl kaum an Les- und Wartbarkeit überboten werden.
paymentServiceMock.Returns(success).When.Transfer(19.99, 'EUR')
|
AW: Welches Mock-Framwork?
Wozu man ein komplexes Mocking-Framework braucht, habe ich auch nie verstanden. Wozu ich aber ein einfaches Mocking-Framework will weiss ich ;-)
Leider ist Delphi immer noch so rückständig und bietet nichts "out of the box". Das liegt wiederum leider daran, dass gefühlt 99% der der Delphi-Entwickler^wProgrammierer keine Ahnung haben wozu man den Mocks überhaupt braucht. ("wir machen keine unit tests, dafür haben wir keine Zeit." :roll::wall:) Darum umso mehr einen Riesen-Danke an Stevie für seinen Einsatz. :thumb: Zurück zu meinem Thema: Ich habe einen Klasse die auf GetShellFolderPath aufsetzt und da einiges tut. Der unit^wIntegrations-Test dazu war recht unstabil wenn andere Programm auch in %appdata% rummachen. Deswegen wollte ich diesen unteren Teil mit wegkapseln und mit einem Mocks testen. Das habe ich geschafft. Ziel erreicht. :) Was ich vermisste war eine (für mich zu findende) Einführung in das Framework also z.B ![]() (In der Firma wo ich arbeite haben wir ein eigenes Framework. Dort werden allerdings die Mocks als Sourcecode von einem Tool erzeugt.) |
AW: Welches Mock-Framwork?
Zitat:
![]() |
AW: Welches Mock-Framwork?
Ich finde für Delphi gibt es kein richtig schlechtes Framework!
Ich arbeite viel mit den Delphi.Mocks und daher gibt es ein Video/Tutorial im Youtube Kanal "Coding Bott" dazu. ![]() Wenn du bereits Spring4D drin hast, würde ich immer versuchen keine weiteren Libs aufnehmen. |
AW: Welches Mock-Framwork?
@Bernd: Das Beispiel in deinem Video bei 20:40 würde mit spring4d so ausschauen:
Delphi-Quellcode:
procedure Test;
var mo: Mock<IOperation>; ml: Mock<IOperationsListe>; op: IOperation; begin mo.Setup.Returns(-1).When.Berechne(1, 2); ml.Setup.Returns(True).When.TryGetOperation(Arg = 'm', Arg.Ref(mo.Instance).Return); ml.Instance.TryGetOperation('m', op); Assert(op.Berechne(1, 2) = -1); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz