我试图在Moq上使用Setup
,就像我已多次返回一个值,但我似乎无法理解为什么参数匹配在此失败情况下。
这就是我正在做的事情:
var myParameter = new SomeParameter();
myMock.Setup(x => x.SomeFunction(myParameter)).Returns(myResult);
其中SomeParameter : IParameter
和函数定义为SomeFunction(IParameter parameter)
。
如果我将第一行更改为:
IParameter myParameter = new SomeParameter();
或者确实,施展它:
myMock.Setup(x => x.SomeFunction((IParameter)myParameter))).Returns(myResult);
工作正常。
这是正常行为还是错误?我可以将Moq配置为不检查我传入的任何参数的编译时类型吗?
使用稍微旧版本的Moq 4.5.30。