在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