我有一个接口(称为IRepository
),上面有这样的方法:
IEnumerable<TEntity> ExecuteStoredProcedure<TEntity>(string functionName,
params Tuple<string, object>[] parameters);
我正在尝试设置通过单元测试调用该方法时将返回的内容。像这样:
dataAccess = Substitute.For<IRepository>();
dataAccess.ExecuteStoredProcedure<MyCustomReturnType>(null, null)
.ReturnsForAnyArgs(MyCustomReturnList);
当我运行测试时,我得到了这个异常:
NSubstitute.Exceptions.CouldNotSetReturnException:找不到返回的调用。
该消息继续警告尝试使用实际课程执行此操作,但这不适用于我。
我尝试将我的null
参数更改为更真实的东西:
ExecuteStoredProcedure<MyCustomReturnType>("", new Tuple<string, object>[]{null})
但这并没有帮助......
任何想法我对这个替代品做错了什么?
(我的猜测是它与params
关键字有关。)