繁体   English   中英

获取调用的Typemock模拟方法的参数

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM