如何检查在另一个事件中有条件发出的事件是否仅触发了一次?

时间:2019-05-29 18:05:22

标签: javascript sinon

我正在寻找一种方法来检查某个事件是否在某些情况下是从另一个事件中触发的,因此仅在Javascript中触发过一次。我意识到我可以通过创建一个间谍函数来实现此目的,该函数记录了被调用的次数,例如使用sinon库:

var spy = sinon.spy;
elem.addEventListener('myTriggeredEvent', spy);
elem.dispatchEvent('myTriggeringEvent');
elem.dispatchEvent('myTriggeringEvent');
// assert(spy.calledOnce);

在此示例中,myTriggeringEvent第一次发出myTriggeredEvent,而不是第二次发出。我需要在代码的某处断言该间谍已经被调用一次,并且可以向myTriggeringEvent添加另一个侦听器来这样做,但是我不认为这可以确保在将所有其他侦听器都添加到myTriggeringEvent之后调用新的侦听器已经完成了。那么,检查myTriggeredEvent仅被触发一次的好方法是什么?

0 个答案:

没有答案