在文档上重置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的主要内容,如果未能解决你的问题,请参考以下文章

如何从片段外部清除/重置地图?

拥有的50个CSS代码片段(上)

发生配置更改时如何不重置我的片段?

如何在 Django 中显式重置模板片段缓存?

Android Studio - 选项卡式活动如何将片段重置为默认视图?

使用 Python 代码片段编写 LaTeX 文档