【发布时间】:2011-10-13 16:52:54
【问题描述】:
在我的方法中,我的存储库这样做:
bool isConditionMet = MyRepository.Any(x => x.Condition == true);
我正在尝试使用 MOQ 来模拟这个:
MyMockedRepository.Setup(x => x.Any(y => y.Condition == true)).Returns(true);
但是,当代码执行时,存储库调用总是返回 false。
有没有办法使用最小起订量来做到这一点?
** 编辑 - 每个请求添加代码 **
我正在使用 NHibernate,所以我的 Any 方法在我的基础存储库中并按如下方式实现:
public virtual bool Any(Expression<Func<T, bool>> predicate)
{
return Session.Query<T>().Cacheable().Any(predicate);
}
【问题讨论】:
-
您能否显示更多
MyRepository的代码是Any()Linq 扩展方法或MyRepository的一部分? -
我从我的基础存储库中为每个请求添加了我的 Any 方法。模拟类是
IMyRepository,在MyRepository中实现。
标签: c# .net unit-testing moq predicate