如何使用ref参数存根方法? [英] How to stub a method with ref argument?

查看:64
本文介绍了如何使用ref参数存根方法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用NSubstitute Framework。我使用Return for Specific Arguments的方式模拟我的方法。


Ex: -


public string Concat(string a,string b)


{


var error = new SomeClass();


var result  = SomeMethod(a,b ,ref error);


if(result!= null)


{


返回a + b ;


}


else {


返回null;


}


}




如果我想要模仿上面的方法,我怎么能这样做?



我试过,



var mockObj = Substitute.For< SomeObject>();


var error = new SomeClass();


mockObj.SomeMethod(Arg.Is< string>(< some condition>),Arg.Is< string>(某些条件),ref error).Returns(a + b);



但没有成功。我不想使用ReturnForAnyArgs()而不是Returns()



请建议我使用返回来使用ref参数模拟方法的一些解决方案()。


解决方案

嗨朋友,


欢迎光临MSDN论坛。


首先,请安装NSubstitute,运行以下命令:
程序包管理器控制台。


(工具 - > NuGet包经理 - >包管理器控制台)


PM> Install-Package NSubstitute -Version 2.0.3


>>我正在使用Return for Specific Arguments的方式来模拟我的方法。


Out和ref参数可以使用
返回()回调 ,或使用
当......操作



请参阅此文档以获取示例:


< p style ="margin:0px 0px 11px"> http://nsubstitute.github.io/help/setting-out-and-ref-arguments/


请感受如果您有任何问题,请免费告诉我。





最好的问候,


< span style ="font-size:medium"> Fletcher


I am using NSubstitute Framework. I am mocking my methods using the way Return for Specific Arguments.

Ex:-

public string Concat(string a, string b)

{

var error = new SomeClass();

var result  = SomeMethod(a,b,ref error);

if(result != null)

{

return a + b;

}

else{

return null;

}

}

If i want to mock above method, how can I do that?

I tried like,

var mockObj = Substitute.For<SomeObject>();

var error = new SomeClass();

mockObj.SomeMethod(Arg.Is<string>(<some condition>), Arg.Is<string>(some condition), ref error).Returns(a+b);

but doesn't work out. and I dont want to use ReturnForAnyArgs() instead of Returns()

Please suggest me some solution to mock a method with ref argument using Returns().

解决方案

Hi friend,

Welcome to MSDN forum.

First, please install NSubstitute, run the following command in the Package Manager Console.

(Tools-> NuGet Package Manager-> Package Manager Console).

PM> Install-Package NSubstitute -Version 2.0.3

>> I am mocking my methods using the way Return for Specific Arguments.

Out and ref arguments can be set using a Returns() callback, or using When..Do.

Please refer to this documentation to get example:

http://nsubstitute.github.io/help/setting-out-and-ref-arguments/

Please feel free let me know if you have any issue.

Best regards,

Fletcher


这篇关于如何使用ref参数存根方法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆