RhinoMocks - Holen der Parameter der aufgerufenen Funktionen
Mit RhinoMocks - kann ich Holen die Parameter einer aufgerufenen Funktion? Ich meine; kann ich einige der unbekannten Parameter aus dem Aufruf der Funktion aus?
Habe ich ein mock -, und ich erwarte, dass einige Funktion, die aufgerufen werden auf diese. Ich weiß, dass einer der Parameter, der andere aber unbekannt ist, wie die von der Klasse verwendet, die spotten und ruft eine Funktion auf. Mehr spezifisch - in diesem Fall - das unbekannte argument ist eine lambda-Funktion. Dies ist eine callback-Funktion soll aufgerufen werden, wenn die Funktion beendet. Als die mock-verhindert, dass der callback nicht aufgerufen wird möchte ich, um es zu Holen, und Sie rufen mich.
So, ich will, um zu überprüfen, dass die Funktion aufgerufen wurde. Ich möchte sicherstellen, dass einige der Argumente wurden erwartet. Und ich möchte, um aus der unbekannten Argumenten zu tun, einige Operationen auf Sie Sie anschließend.
Vorausgesetzt, beide Argumente Ganzzahlen (der Einfachheit halber) ich würde gerne etwas wie das hier tun:
int unknownInt;
_fakeSomething.AssertWasCalled(factory => factory.Foo(1, out unknownInt));
//then play around with unknownInt..
Kann das getan werden? Ich sehe, es ist ein Arg.Aus, konnte aber nicht ganz, damit es funktioniert..
Hinweis: Aktualisiert die Frage, wie es zu sein schien irreführend.
Du musst angemeldet sein, um einen Kommentar abzugeben.
UPDATE:
Zu Holen, das zweite argument auf den ersten Anruf der
Foo
Methode auf_fakeSomething
:Nicht sicher, ob es getan werden kann, aber Tests wie können dazu führen, dass unzuverlässige tests, da Sie nicht wissen, die tatsächlichen Parameter, die übergeben wurde.
Wenn möglich, testen Sie auf explizite Daten. Wenn Sie die f.eks-übergeben Sie null anstelle von einem realen Wert Ihres test wird wahrscheinlich pass für den falschen Grund.
Tests mit Arg.Ist.Alles sollte sorgfältig durchgeführt werden und wenn Sie wirklich kümmern sich nicht um die parameter, wie in AssertWasNotCalled.