C# NSubstitute:如何访问返回中的实际参数
我想访问NSubstituteC# NSubstitute:如何访问返回中的实际参数,c#,unit-testing,mocking,nsubstitute,C#,Unit Testing,Mocking,Nsubstitute,我想访问NSubstituteReturns方法中的实际参数。例如: var myThing = Substitute.For<IMyThing>() myThing.MyMethod(Arg.Any<int>).Returns(<actual parameter value> + 1) var myThing=Substitute.For() myThing.MyMethod(Arg.Any).Returns(+1) 使用NSubstitute我应该写什
Returns
方法中的实际参数。例如:
var myThing = Substitute.For<IMyThing>()
myThing.MyMethod(Arg.Any<int>).Returns(<actual parameter value> + 1)
var myThing=Substitute.For()
myThing.MyMethod(Arg.Any).Returns(+1)
使用NSubstitute我应该写什么来代替
,或者如何实现等效行为?根据
属性或方法调用的返回值可以设置为
函数的结果
这里args.Arg()
将返回传递给调用的int
参数,而不必使用(int)args[0]
。如果存在多个索引,则将使用该索引
var myThing = Substitute.For<IMyThing>()
myThing
.MyMethod(Arg.Any<int>())
.Returns(args => ((int)args[0]) + 1); //<-- Note access to pass arguments
var myThing = Substitute.For<IMyThing>()
myThing
.MyMethod(Arg.Any<int>())
.Returns(args => args.ArgAt<int>(0) + 1); //<-- Note access to pass arguments
var myThing = Substitute.For<IMyThing>()
myThing
.MyMethod(Arg.Any<int>())
.Returns(args => args.Arg<int>() + 1); //<-- Note access to pass arguments