Получение аргументов вызываемого метода Typemock

StackOverflow https://stackoverflow.com/questions/1050182

  •  20-08-2019
  •  | 
  •  

Вопрос

Я активно использую RhinoMocks, разрабатывая его с точки зрения TDD и AAA с помощью NUnit и ReSharper.Я меняю работу, и команда, в которую я перехожу, использует TypeMock, поэтому я хочу сразу взяться за дело...и я столкнулся с проблемой.Как я могу получить аргументы вызываемого метода для фиктивного объекта.При использовании RhinoMocks я использую:

mockObject.GetArgumentsForCallsMadeOn(x => x.MethodIWantToGetParametersFrom(null))

Возвращает IList массива объектов типа.Большой!Я иду и получаю то, что хочу, и обрабатываю это так, как хочу.Теперь, используя синтаксис AAA TypeMock, я не могу найти способ сделать это...Может ли кто-нибудь пролить свет на это, пожалуйста?Должен ли я делать это по-другому?

Спасибо за прочтение и жду ваших ответов!

Адам

Это было полезно?

Решение

вы можете использовать DoInstead():

Isolate.WhenCalled(()=>x.MethodIWantToGetParametersFrom).DoInstead(context => Console.WriteLine(context.Parameters[0].ToString())

Вы получаете объект Context, содержащий значения параметров.

вы также можете реализовать метод с тем же именем в своем собственном классе и поменять вызовы с поддельного объекта на этот метод:

 class MyOwnClass
    {
    void MethodIWantTOGetParametersFrom(string s){
Console.WriteLine(s);
} //this is NOT the real method
    }

    //in test:
    MyOwnClass own = new MyOwnClass();
    Isolate.Swap.CallsOn(realClassInstance).WithCallsTo(own); //only methods that are implemented in the OwnCalss will be redirected. others will be called on the original instance.
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top