Events 如何在Rhino Mock中测试事件注册

Events 如何在Rhino Mock中测试事件注册,events,rhino-mocks,Events,Rhino Mocks,我正在尝试编写Rhino Mocks测试,以验证我是否已注册某个事件。这是我的测试: var dataSvc = MockRepository.GenerateStub<IDataService>(); Search srch = new Search(dataSvc, vr); dataSvc.GetCarriersCompleted += srch.OnCarrierDataReturned; dataSvc.AssertWasCalled(x =>

我正在尝试编写Rhino Mocks测试,以验证我是否已注册某个事件。这是我的测试:

   var dataSvc = MockRepository.GenerateStub<IDataService>();
   Search srch = new Search(dataSvc, vr); 
   dataSvc.GetCarriersCompleted += srch.OnCarrierDataReturned;
   dataSvc.AssertWasCalled(x => x.GetCarriersCompleted += Arg<GetCarriersCompletedEventArgs>.Is.Anything);
我的数据服务如下所示:

    public void GetCarrierList()
    {
        try
        {
            _dataService.GetCarriersCompleted += OnCarrierDataReturned; ; //hangedEventHandler(OnDataReturned);
            _dataService.GetCarriersAsync(_param);

        }
        catch (Exception ex)
        {

        }
    }

    public void OnCarrierDataReturned(object sender, GetCarriersCompletedEventArgs e)
    {
       // get results
    }
    void GetCarriersAsync(System.Collections.Generic.Dictionary<string, string> param);
    event System.EventHandler<GetCarriersCompletedEventArgs> GetCarriersCompleted;
void GetCarriersAsync(System.Collections.Generic.Dictionary参数);
event System.EventHandler GetCarriers已完成;
我不知道Rhino Mocks需要什么来做这个测试。错误是:

错误7无法将类型“MACS2SLApp.MACSWcfServiceProxy.GetCarrierCompletedEventArgs”隐式转换为“System.EventHandler”C:\Documents and Settings\600124238\My Documents\MACS3\Prototype\Web UI\MacSunitests\MacSunitests.cs 126 68 MacSunitests

任何想法都将不胜感激

谢谢, Bill44077

您的
Arg
约束必须是事件类型,而不是事件args的类型。尝试:

Arg<EventHandler<GetCarriersCompletedEventArgs>>.Is.Anything
Arg.Is.Anything

我是在正确的轨道上还是远离基地?谢谢