我试图模拟接口的事件,如下所示:
[TestMethod]
public void NeedingDataFiresEvents()
{
//Arrange
var service = MockRepository.GenerateMock<IService>();
service.Expect(i => i.GetValue()).Return(5);
var view = MockRepository.GenerateMock<ILogView>();
view.NeedData += null;
LastCall.IgnoreArguments();
var evt = LastCall.GetEventRaiser();
var presenter = new LogPresenter(view, service);
var args = new DataEventArgs();
//Act
evt.Raise(view, args);
//Assert
Assert.AreEqual(1, args.Results.Count());
}
System.InvalidOperationException异常:无效调用,已使用最后一个调用或未进行任何调用(请确保调用的是虚拟(C#)/Overridable(VB)方法)。
我不知道为什么。。。我做错什么了?如果我没有实际实例化视图,我会应用什么虚拟的呢。。。演示者中有什么?