Rhino Mocks - Legen Sie eine Eigenschaft fest, wenn eine Methode aufgerufen wird

8

Gibt es eine Möglichkeit mit Rhino Mocks eine Eigenschaft eines Stubs zu setzen, wenn eine Methode aufgerufen wird.

In etwa so: (Gefälschter Code in Fettdruck)

callMonitor.Expect (x = & gt; x.HangUp ()). SetProperty (callMonitor.InACall = false) ;

Die HangUp-Methode gibt void zurück und ich kann das nicht wirklich ändern. Aber ich will, dass mein Stub weiß, dass der Anruf beendet wurde, als HangUp angerufen wurde.

    
Vaccano 28.08.2009, 21:07
quelle

4 Antworten

10

Sie können die Methode "WhenCalled" verwenden, um Ihren eigenen Code auszuführen, wenn ein Stub aufgerufen wird. ziemlich sicher, dass es auch mit Mocks funktionieren sollte. Laut der Dokumentation ist WhenCalled ein Ersatz / Upgrade für Callback.

%Vor%

Einige Informationen am Ende dieses Beitrags: Ссылка

    
Mark Simpson 28.08.2009, 21:26
quelle
1

Ja , können Sie die Methode Callback verwenden:

%Vor%     
Mark Seemann 28.08.2009 21:16
quelle
1

Es könnte einige Bedingungen geben, unter denen Sie dies tun müssten, aber im Allgemeinen würde ich erwarten, dass Sie einfach Ihren Mock / Stub so instrumentieren, dass er als Reaktion auf Ihren Code die richtigen Werte zurückgibt. Die einzigen Ausnahmen, an die ich denken kann, sind teilweise Mocks, bei denen Sie einen Teil einer Klasse testen und die anderen Teile verspotten wollen.

Es ist ziemlich einfach, eine Eigenschaft zu propagieren.

%Vor%

Wenn callMonitor ein Stub ist, können Sie die Eigenschaft direkt festlegen.

%Vor%     
tvanfosson 28.08.2009 21:15
quelle
-1

Ich bin kein RhinoMocks-Experte, aber ich glaube, das sollte funktionieren.

%Vor%     
Stephanvs 28.08.2009 21:17
quelle

Tags und Links