在C#中,我可以測試這個...有沒有辦法在VB.NET中知道一個處理程序是否已經註冊了一個事件?
public event EventHandler Trigger;
protected void OnTrigger(EventArgs e)
{
if (Trigger != null)
Trigger(this, e);
}
有沒有辦法在VB.NET做到這一點?測試爲空我的意思是?
更多信息
我忘了提。我有用C#編寫的類,但是我正在使用VB.NET編寫我的單元測試。
我在單元測試中嘗試這個...
If myObject.Trigger IsNot Nothing Then
''#do something
End If
這是導致它說......「公共事件觸發一個事件,不能直接調用編譯時錯誤。使用的RaiseEvent聲明提出事件。「
Seth
PS ......我的意思是,我DON「T希望提高該事件。其實我要檢查它爲無效,因爲這是我的單元測試。 賽斯 – 2010-06-01 19:28:25
我沒有回答以下問題。 。但是,我還建議你應該測試的是試圖註冊一個事件處理程序,而不是它實際上已經註冊(因爲這將測試已經被很好地測試的CLR功能)。更具體地說,考慮使用[模擬對象](http://martinfowler.com/articles/mocksArentStubs.html),使用[Rhino.Mocks](http://www.ayende.com/projects/rhino-mocks)等框架更容易。 aspx),[Moq](http://code.google.com/p/moq/)或[TypeMock Isolator](http://site.typemock.com/) – hemp 2010-06-01 21:36:09