带有Linq表达式的Moq存储库。

时间:2013-09-22 07:14:41

标签: c# linq moq

我正在尝试模拟我的存储库,并且我有一个调用它的函数,如下所示:

return _mailingListRepository.Find(ml => ml.EmailAddress == email).Any();

我按照以下方式设置了Mock Repository:

_mailingListRepositoryMock.Setup(m => m.Find(It.IsAny<Expression<Func<MailingList, bool>>>())).Returns((IEnumerable<MailingList>) null);

但它会引发异常:Value不能为null。我应该在设置中返回什么内容?

2 个答案:

答案 0 :(得分:1)

你想让你的模拟返回一个空列表吗?如果是,请返回Enumerable.Empty<MailingList>()

答案 1 :(得分:0)

试试这个

_mailingListRepositoryMock.Setup(m => m.Find(It.IsAny<Expression<Func<MailingList, bool>>>())).Returns<IEnumerable<MailingList>>(null);