I try to write unit test for repository. I use InMemoryDb (https://www.nuget.org/packages/FakeDbSet) set to mock DbSet but I get exception
"Expression is not a method invocation: p => p".
What do I there wrong?
try
{
var userDbSet = new InMemoryDbSet<UserModel>();
userDbSet.Add(new UserModel { Id = 1, Username = "jacek_001@wp.pl" });
userDbSet.Add(new UserModel { Id = 1, Username = "jacek_002@wp.pl" });
userDbSet.Add(new UserModel { Id = 1, Username = "jacek_003@wp.pl" });
var repositoryMock = new Mock<IDbSet<UserModel>>();
repositoryMock.Setup(p => p).Returns(() => userDbSet); // <= this line throw exception
var entitiesMock = new Mock<Entities>();
entitiesMock.Setup(p => p.Users).Returns(() => repositoryMock.Object);
return entitiesMock.Object;
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}