Rhino Mock更新方法参数属性

时间:2013-03-05 19:37:06

标签: unit-testing mocking rhino-mocks stub

我的代码中有以下两行:

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

因此,MyMethod接受一个类的实例并更新此实例上的InterestingValue。它不会返回任何内容(无效)。

在我的代码中,我然后使用此InterestingValue

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

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

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

                ff.ReturnValue = arg;
            });