2013-03-05 30 views
1

我在我的代码如下两行:RhinoMock更新方法参数的性能

Factory.MyMethod(argument); 
var property = argument.InterestingValue; 

所以,MyMethod发生在一个类的实例,并在这种情况下更新InterestingValue。它不返回任何东西(void)。

在我的代码中,我使用这个InterestingValue

对于单元测试,我想创建一个工厂的存根,并对其进行编程,以便在调用MyMethod时更新实际对象(参数)。

我该如何做到这一点?

回答

0
fakeFactory.Stub(ff=> ff.MyMethod(null)).IgnoreArguments() 
      .WhenCalled(ff => 
      { 
       var arg = (ArgumentClass)ssf.Arguments[0]; 
       arg.InterestingValue = new Whatever 
        { 
        }; 

       ff.ReturnValue = arg; 
      });