2012-09-07 48 views
1

当它的属性(double)设置为任意值时,我的存根应该抛出异常。 如何使用Rhino Mocks 3.5来完成此操作?如何在Rhino Mocks中设置属性时抛出异常

我尝试这样做:

 var myMock = MockRepository.GenerateStub<MyInterface>(); 
     myMock.Stub(x => x.MyProperty).Throw(new Exception()); 

但是,这给了我:

System.InvalidOperationException : You are trying to set an expectation on a property that was defined to use PropertyBehavior. 
Instead of writing code such as this: mockObject.Stub(x => x.SomeProperty).Return(42); 
You can use the property directly to achieve the same result: mockObject.SomeProperty = 42; 

但在这种情况下,我说的不是获取和设置一个简单的值,它应该抛出。

回答

3

您必须MockRepository.GenerateMock,

取代这个版本有GenerateStub问题,

var myMock = MockRepository.GenerateMock<MyInterface>(); 
myMock.Stub(x => x.MyProperty).Throw(new Exception()); 
+1

谢谢!有什么我应该知道的有关GenerateMock或可以简单地将我所有的GenerateStub替换为GenerateMock? – Emile

+1

我很乐意帮助您Emile,您根据自己的需要进行调整,在这种情况下,它必须 –

相关问题