我正在模拟一个通用存储库,并且刚刚在我的 Retrieve 方法中添加了第二个参数,允许我为对象属性传递包含字符串,我对如何模拟这个并得到一个TargetParameterCountException
.
如果有人能把我推向正确的方向,那就太好了。
界面:
IQueryable<T> Retrieve(Expression<Func<T, bool>> predicate);
IQueryable<T> Retrieve(Expression<Func<T, bool>> predicate, IEnumerable<string> includes);
起订量:
var mActionRepository = new Mock<IRepository<ContainerAction>>();
mActionRepository.Setup(m => m.Retrieve(It.IsAny<Expression<Func<ContainerAction, bool>>>()))
.Returns<Expression<Func<ContainerAction, bool>>>(queryable.Where);
mActionRepository.Setup(m => m.Retrieve(It.IsAny<Expression<Func<ContainerAction, bool>>>(), It.IsAny<IEnumerable<string>>()))
.Returns<Expression<Func<ContainerAction, bool>>>(queryable.Where);
第一个起订量有效,第二个无效。