犀牛模型.如何添加订阅了事件处理程序的期望值

本文关键字:事件处理 程序 期望值 模型 何添加 添加 犀牛 | 更新日期: 2023-09-27 18:25:07

我有一个这样的接口:

interface IView
{
     event EventHandler<MyEventArgs> SomeEvent;
}

和一类

class Presenter
{
     private IView _view;
     public Presenter(IView view)
     {
         view.SomeEvent += MyEventHandler;
     }
     private MyEventHandler(...)
}

我正在尝试使用RhinoMocks和MockRepository测试这些东西。VerifyAll()抛出以下异常

Rhino.Mocks.Exceptions.ExpectionViolationException:IView.add_SomeEvent(System.EventHandler `1[MyEventArgs]);预期#1,实际#0。

所以问题是:

如何添加订阅事件的期望值?

犀牛模型.如何添加订阅了事件处理程序的期望值

对不起,伙计们,我发现我做错了什么:

_viewMock.Expect(x => x.SomeEvent+= Arg<EventHandler<MyEventArgs>>.Is.Anything); 
Presenter p = new Presenter(_viewMock);
_mockRepository.ReplayAll();
...
_mockRepository.VerifyAll();

在创建Presenter的新实例之前,我必须ReplayAll。

谢谢。