单元测试事件监听器是将事件附加/分离到类
本文关键字:事件 分离 监听器 单元测试 | 更新日期: 2023-09-27 18:07:56
我被困在一个单元测试上,测试事件是由事件侦听器附加到类并分离的。我不知道如何做到这一点,我在许多论坛上看过。EmailEventListener
将构造函数中的事件附加到fakeClass
,并在Detach()
方法中分离。它还包含事件触发时调用的方法。我使用FakeItEasy来创建假类。任何想法吗?谢谢你!
[TestMethod]
public void EmailEventListener_AttachedSubscription_ToClass_Successfully()
{
EmailEventListener<ConcreteClass> realListener = new EmailEventListener<ConcreteClass>(fakeClass, A.Dummy<IEmailSender>());
// Assert that fakeClass has the event
realListener.Detach();
// Assert that fakeClass does not have the event (probably in another test, but just wanted to show it here)
}
要断言事件处理程序运行,请让您附加的处理程序做一些您可以断言已完成的事情,例如将布尔handlerExecuted
变量从false
翻转到true
。
要断言它是分离的,做同样的事情,但反过来断言。(断言handlerExecuted
是false
而不是true
)