0

我想對處理一些複雜對象的複雜方法執行測試操作。它使用SessionManager類,它是一個具有屬性的客戶類,並處理會話上下文。犀牛嘲笑會話狀態

我有下面的代碼,我試圖嘲笑sessionstate並覆蓋返回從SessionManager類返回的PromotionDTO屬性的值。

SessionManager sessionStub = MockRepository.GenerateStub<SessionManager>(MockObjectFactory.GetMockHttpSessionState()); 


     var dto = new PromotionParamsDTO(store.DefaultAdCode, membershiptypefromResult.membershipType.Id, offerCodes, true); 


     sessionStub.Stub(x => x.PromotionDTO).Return(dto); 

我對着下面的錯誤,在這裏我試圖存根值

無效呼叫的最後一行,最後調用已被使用或沒有呼叫的情況下(請確保您有調用虛(C#)/可重寫(VB)符合

at Rhino.Mocks.LastCall.GetOptions[T]() 
    at Rhino.Mocks.RhinoMocksExtensions.Expect[T,R](T mock, Function`2 action) 
    at Rhino.Mocks.RhinoMocksExtensions.Stub[T,R](T mock, Function`2 action) 
    at Bluefield.Test.MembershipPromo.MembershipInfoServicesTest.CheckAndRunPromoForMembershipTypeTest() 

我使用MockObjectFactory實現從這裏 http://codeverge.com/asp.net.free-for-all/mocking-httpcontext-object/36423

請在這裏幫助我,謝謝。

回答

0

沒關係,我改變了屬性,我試圖存根覆蓋,並直接設置值來解決這個問題。