我正在嘗試編寫一個Rhino Mocks測試來驗證我是否註冊了一個事件。下面是我的測試:如何在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;
我想不通犀牛嘲笑這個測試需要什麼。錯誤是:
錯誤7無法隱式轉換類型 'MACS2SLApp.MACSWcfServiceProxy.GetCarriersCompletedEventArgs' 到 'System.EventHandler' C:\ Documents和Settings \ 600124238 \我的文檔\ MACS3 \原型\ WEB UI \ MACSUnitTests \ MACSUnitTests。 cs 126 68 MACSUnitTests
任何想法,將不勝感激。
感謝, Bill44077
我在這裏正確的軌道或基地?謝謝! – 2010-12-08 14:31:20