我有以下测试:
var home = new DummyPageModel { Parent = null };
var pageRepository = new Mock<IPageRepository>();
pageRepository.Setup(x => x.SingleOrDefault<IPageModel>(page => page.Parent == null)).Returns(home);
但是当我运行此测试时,我得到一个System.NotSupportedException:Expression page =&gt; (page.Parent == null)不受支持?
SingleOrDefault的实现如下所示:
public T SingleOrDefault<T>(Func<T, bool> predicate) where T : IPageModel {
return _documentSession.Query<T>().SingleOrDefault(predicate);
}
答案 0 :(得分:1)
解决这个问题,pageRepository.Setup(x =&gt; x.SingleOrDefault(It.Is&gt;(page =&gt; home.Parent == null)))。返回(home);