在文档上重置spyOnEvent
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在文档上重置spyOnEvent相关的知识,希望对你有一定的参考价值。
我正在尝试根据某些数据跟踪自定义事件,因为我正在监视我的自定义事件并期望事件触发或不触发。这里我试图重置我的spyevent所有我得到的是未定义的错误
TypeError: undefined is not an object (evaluating 'spyOnEvent(document, 'product.trackVariantChanged').calls.reset')
it('selects a variant without triggering the product.trackVariantChanged event on document', function() {
spyOnEvent(document, 'variantChanged');
spyOnEvent(document, 'product.trackVariantChanged').calls.reset();
App.ColorSelector.init(); // this function automatically calls custom triggers when it calls
App.ColorSelector.selectVariant($colorSelector, 'wms_III_black'); //this function has a depedency on init()
expect('variantChanged').toHaveBeenTriggeredOn(document);
expect('product.trackVariantChanged').not.toHaveBeenTriggeredOn(document);
App.ColorSelector.selectVariant($colorSelector, 'wms_III_white');
expect('variantChanged').toHaveBeenTriggeredOn(document);
expect('product.trackVariantChanged').not.toHaveBeenTriggeredOn(document);
});
从上面的情况App.ColorSelector.init();
这个函数自动调用/应该调用fisr并触发自定义事件和App.ColorSelector.selectVariant($colorSelector, 'wms_III_black');
这个函数依赖于init()函数
所以我想在调用selectVariant
函数之前重置间谍。
答案
对于spyOnEvent
而不是calls.reset()
使用spyOnEvent(document, 'customEvent').reset();
它会工作。
以上是关于在文档上重置spyOnEvent的主要内容,如果未能解决你的问题,请参考以下文章