Проверка, был ли вызван метод для события в Vue - PullRequest
0 голосов
/ 10 июля 2020

Я пытался написать тест, чтобы проверить, вызывалась ли функция для события тега в 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

Что я делаю не так ?

1 Ответ

0 голосов
/ 10 июля 2020

вам нужно следить за методом вашего компонента, например const spy = jest.spyOn (wrapper.vm, 'fn');

...