Nunit 如何设置此项(模拟设置)

Nunit 如何设置此项(模拟设置),nunit,mocking,Nunit,Mocking,我有以下测试: var home = new DummyPageModel { Parent = null }; var pageRepository = new Mock<IPageRepository>(); pageRepository.Setup(x => x.SingleOrDefault<IPageModel>(page => page.Parent == null)).Returns(home);

我有以下测试:

        var home = new DummyPageModel { Parent = null };
        var pageRepository = new Mock<IPageRepository>();
        pageRepository.Setup(x => x.SingleOrDefault<IPageModel>(page => page.Parent == null)).Returns(home);
var home=new DummyPageModel{Parent=null};
var pageRepository=newmock();
pageRepository.Setup(x=>x.SingleOrDefault(page=>page.Parent==null)).Returns(home);
但是当我运行这个测试时,我得到一个System.NotSupportedException:表达式page=>(page.Parent==null)不受支持

SingleOrDefault的实现如下所示:

    public T SingleOrDefault<T>(Func<T, bool> predicate) where T : IPageModel {
        return _documentSession.Query<T>().SingleOrDefault(predicate);
    }
public T SingleOrDefault(Func谓词),其中T:IPageModel{
返回_documentSession.Query().SingleOrDefault(谓词);
}

像这样解决它,pageRepository.Setup(x=>x.SingleOrDefault(it.Is>(page=>home.Parent==null))。返回(home)

这样解决它,pageRepository.Setup(x=>x.SingleOrDefault(it.Is>(page=>home.Parent==null))。返回(home)