【发布时间】:2015-04-01 08:56:24
【问题描述】:
我正在尝试对处理一些复杂对象的复杂方法执行测试操作。因为它使用 SessionManager 类,这是一个具有属性的客户类并处理 Session Context 的东西。
我有下面的代码,我试图在其中模拟会话状态并覆盖从 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
请帮帮我,谢谢。
【问题讨论】:
标签: c# visual-studio-2010 unit-testing integration-testing rhino-mocks