Eug*_*ene 5 .net c# events unit-testing rhino-mocks
我有这样的界面:
interface IView
{
event EventHandler<MyEventArgs> SomeEvent;
}
Run Code Online (Sandbox Code Playgroud)
和一个班级
class Presenter
{
private IView _view;
public Presenter(IView view)
{
view.SomeEvent += MyEventHandler;
}
private MyEventHandler(...)
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用RhinoMocks和MockRepository.VerifyAll()测试这些东西抛出以下异常
Rhino.Mocks.Exceptions.ExpectationViolationException: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();
Run Code Online (Sandbox Code Playgroud)
在创建新的 Presenter 实例之前,我必须重播所有内容。
谢谢。