我有一个附加行为,订阅了TabItem的IsVisibleChanged方法。我想编写一个单元测试来验证是否正在附加行为中订阅此事件。
这样的事情:
Assert.IsTrue(myTabItem.IsVisibleChanged != null);
我不能这样做,因为我的测试不在TabItem类之内,所以它不能测试事件的相等性。
我也试过这个:
private class MyTabItem : TabItem
{
public bool IsVisibleChangedNull()
{
return base.IsVisibleChanged == null;
}
}
这也行不通。有没有人有一个很好的方法来测试它?
答案 0 :(得分:2)
验证事件是否成功订阅的最简单方法是执行一些操作,触发事件并在事件处理程序中包含代码,以便运行以使测试成功:
bool fired = false;
foo.SomeEvent += ()=> fired = true;
foo.DoSomethingToFireEvent();
Assert.IsTrue(fired);