Rhino Mocks - 如果调用方法,则设置属性

Vac*_*ano 8 c# unit-testing rhino-mocks

如果调用方法,有没有办法让Rhino Mocks设置Stub的属性.

这样的事情:(粗体假代码)

callMonitor.Expect(X => x.HangUp()).SetProperty(callMonitor.InACall = false) ;

HangUp方法返回void,我无法真正改变它.但是我希望我的存根知道在调用HangUp时挂断电话.

Mar*_*son 11

您可以使用"WhenCalled"方法在调用存根时运行您自己的代码; 非常肯定它也适用于Mocks.根据文档,WhenCalled是Callback的替换/升级.

callMonitor.Expect(x => x.HangUp())
.WhenCalled(invocation => callMonitor.InCall = false);
Run Code Online (Sandbox Code Playgroud)

本文末尾的一些信息:http: //grahamnash.blogspot.com/2008/10/rhino-mocks-35.html