Reputation: 167
So I have method that validates user
public Boolean ValidateUser(username){
return ValidationHelper(username)
}
How do I mock the return value of ValidationHelper? I tried something like following
Helper.Setup(item => item.ValidateUser(It.IsAny<String>())).Returns(true);
But I got the error:
System.NotSupportedException : Unsupported expression: x=> x.ValidateUser(It.IsAny<string>())
Non-overridable members (here: UserValidation.ValidateUser) may not be used in setup / verification expressions.
Upvotes: 0
Views: 203
Reputation: 17298
You are not mocking ValidationHelper, but the ValidateUser method. You can only mock interfaces or virtual members. In your case, you can change the definition to
public virtual Boolean ValidateUser(username) {...}
I don't know whether that's the best option in your case though, because you don't show the call site or the test.
Upvotes: 1