Answers:
您可以将lambda与输入参数一起使用,如下所示:
.Returns((string myval) => { return myval; });
或者更具可读性:
.Returns<string>(x => x);
Moq
4.0.0.0
.Returns<string>
是指输入参数,而不是您要返回的值。
更有用的是,如果您有多个参数,则可以使用以下命令访问其中的任何一个/全部:
_mock.Setup(x => x.DoSomething(It.IsAny<string>(),It.IsAny<string>(),It.IsAny<string>())
.Returns((string a, string b, string c) => string.Concat(a,b,c));
您始终需要引用所有参数,以匹配方法的签名,即使您仅使用其中之一。
ReturnsAsync
!
IReturns
在Moq中检查时,它最多Returns
为4个参数定义。有什么简单的方法可以解决这个问题?/我的意思是,除了修改Moq来源之外//