2013-03-05 1 views
1

У меня есть следующие две строки в моем коде:RhinoMock обновление метод свойства аргумента

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

Так, MyMethod занимает в экземпляре класса и обновляет InterestingValue этого экземпляра. Он ничего не возвращает (пусто).

В моем коде я затем использую это 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; 
      }); 
Смежные вопросы