[英]Getting arguments of a called Typemock mocked method
我是RhinoMocks的敏锐用户,使用NUnit和ReSharper从TDD和AAA角度进行开发。 我正在换工作,我要搬到的团队使用TypeMock,所以我想实实在在地工作……我遇到了问题。 如何获得模拟对象上被调用方法的参数。 使用RhinoMocks时,我使用:
mockObject.GetArgumentsForCallsMadeOn(x => x.MethodIWantToGetParametersFrom(null))
返回一个IList类型的对象数组。 大! 我去得到想要的东西,并按照自己的意愿进行处理。 现在,使用TypeMock的AAA语法,我似乎无法找到一种方法来做到这一点……请问有人对此有所了解吗? 我应该做不同的事情吗?
感谢您的阅读,我们期待您的回复!
亚当
您可以使用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 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.