代码之家  ›  专栏  ›  技术社区  ›  Toran Billups

Rhino Mocks-删掉一些可以返回iqueryable(of T)的东西。

  •  1
  • Toran Billups  · 技术社区  · 16 年前

    我经常和Rhino Mocks 3.5一起工作,但最近遇到了一些我以前从未尝试过的事情。我想删掉一个服务,并设置返回值-简单的东西真的

    唯一的问题是,现在我的服务不是返回ilist,而是iquerieble

    所以当我尝试这样做的时候-它会爆炸

    <TestMethod()> _
        Public Sub Should_Populate_Users_Property_On_View_During_OnInit()
            Dim View As IUserView = MockRepository.GenerateStub(Of IUserView)()
            Dim Service As IUserService = MockRepository.GenerateStub(Of IUserService)()
            Dim Presenter As New UserPresenter(View, Service)
    
            Dim StubUserObjectCollection As New List(Of User)
            StubUserObjectCollection.Add(New User(1, "jdoe", "John", "Doe", 0, 0, 0, 1, 1))
    
            Service.Stub(Function(x) x.GetUserCollection()).[Return](StubUserObjectCollection)
    
            Presenter.OnViewInit()
    
            Assert.AreEqual(View.Users.Count, 1)
        End Sub
    

    我怎样才能中断服务来启用下面的单元测试(为了简洁起见保持简单)

    Public Sub OnViewInit()
        Dim UserList As List(Of User) = mUserService.GetUserCollection.Where(Function(x) x.Active = 1).OrderBy(Function(x) x.FirstName).ToList()
    
        mView.Users = UserList
    End Sub
    
    1 回复  |  直到 16 年前
        1
  •  7
  •   womp    16 年前

    您不能将stubUserObjectCollection更改为iQueryable吗?

    Dim SubList As New List(Of User)
    StubList.Add(New User(1, "jdoe", "John", "Doe", 0, 0, 0, 1, 1))
    Dim StubUserObjectCollection = StubList.AsQueryable();