【发布时间】:2010-09-28 16:58:20
【问题描述】:
我正在尝试模拟如下界面的事件:
[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#) / 可覆盖 (VB) 方法)。
我不知道为什么……我做错了什么?如果我没有实际实例化视图,我还会应用虚拟什么...演示者中的某些内容?
【问题讨论】:
标签: c# .net unit-testing mocking rhino-mocks