测试该方法是否在Vue中被事件调用

我一直在尝试编写测试以检查是否在Vue中的标记事件上调用了函数。我有这个组件(总结一下)

<multiselect @tag="fn"></multiselect>

import Multiselect from 'vue-multiselect'
export default {
    components: {
        Multiselect
    },name: "TagMultiselect",methods: {
        fn(){
            console.log("test");
        }
    }
}

,我正在尝试测试是否调用了功能 fn 。为此,我编写了以下测试

it('triggers the function',() => {
        const wrapper = shallowMount(TagMultiselect);
        const spy = jest.spyOn(TagMultiselect.methods,'fn');
        const multiselect = wrapper.findComponent(Multiselect);
        multiselect.vm.$emit('tag');
        expect(spy).toBeCalledTimes(1)
    })

但是每次我得到

已接听电话:0

我在做什么错了?

iCMS 回答:测试该方法是否在Vue中被事件调用

您需要像这样监视组件的方法 const spy = jest.spyOn(wrapper.vm,'fn');

本文链接:https://www.f2er.com/1963703.html

大家都在问