I have strange problem: when I use mu repository stub I get strange exception:
System.Reflection.TargetParameterCountException
Creating stub (in a test method):
var repositoryStub = new Mock<IRepository<User>>();
repositoryStub.Setup(m => m.FindAll(It.IsAny<Expression<Func<User,bool>>>())).Returns(TestGlobals.TestUsers.AsQueryable<User>);
Interface:
IQueryable<T> FindAll(System.Linq.Expressions.Expression<Func<T, bool>> whereExpression);
And on every call to FindAll throws that error :( I'm mocking in that fashion in many other places, but now I can't find source of that strange problem :(
You have missed a pair of parenthesis after the AsQueryable
call:
repositoryStub.Setup(m => m.FindAll(It.IsAny<Expression<Func<User,bool>>>())).Returns(TestGlobals.TestUsers.AsQueryable<User>());
The Returns
method has multiple overloads and most of them takes a Func and without the parenthesis it uses one of these overloads and because you haven't specified a parameter that's why it throws an exception.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With