我该如何设置(模拟设置)

时间:2011-02-26 13:23:46

标签: 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);

但是当我运行此测试时,我得到一个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);
    }

1 个答案:

答案 0 :(得分:1)

解决这个问题,pageRepository.Setup(x =&gt; x.SingleOrDefault(It.Is&gt;(page =&gt; home.Parent == null)))。返回(home);