我有一个简单的要求,但我似乎很挣扎。
我创建了一个stub
模拟一个interface
,其中包括一个Property
:
public interface IMockIRuleRuningViewModel : IRuleRunningViewModel
{
int Id { get; set; }
}
而且mock
是:
var mock = MockRepository.GenerateStub<IMockIRuleRuningViewModel>();
现在我想要mock
一个我会为此设置一个 setter 的操作,这Property
是我的尝试:
mock.Stub(x => x.Id).WhenCalled(
o =>
{
var engine = new RulesEngine(mock);
mock.ProcessRuleEngineResults(engine.RunRule("Id"));
});
但我不断得到这个Exception
:
您正在尝试对定义为使用 PropertyBehavior 的属性设置期望。而不是编写这样的代码:mockObject.Stub(x => x.SomeProperty).Return(42); 您可以直接使用该属性来达到相同的结果:mockObject.SomeProperty = 42;