Как сделать, чтобы мой vue -unit-test вызвал событие клика по v-btn в Vuetify? - PullRequest
0 голосов
/ 25 марта 2020

Я создаю какой-то модульный тест для своего компонента, но тест продолжает давать сбой, поскольку тестируемая кнопка не срабатывает из-за события click.

Я использовал документы в качестве Основание для моего теста: https://vuetifyjs.com/sv-SE/getting-started/unit-testing/

Я также попробовал некоторые из упомянутых здесь предложений: https://forum.vuejs.org/t/how-to-trigger-an-onchange-event/11081/4

Но, похоже, как будто я что-то упускаю, кто-нибудь, кто может мне помочь?

Мой тест:

test('If you can click on the Test button', () => {
        const wrapper = shallowMount(myComponent, {
            localVue,
            vuetify,

        });

        const event = jest.fn();
        const button = wrapper.find({name: 'v-btn'})

        expect(button.exists()).toBe(true) //this works

         wrapper.vm.$on('v-btn:clicked', event)

        expect(event).toHaveBeenCalledTimes(0)

         button.trigger('click')

         expect(event).toHaveBeenCalledTimes(1)

    })

myComponent:

<template>

<v-btn class="primary-text" @click.native="methodForTesting($event)">Test</v-btn>

<template>

<script>
methods: {

methodForTesting(){
  console.log('button clicked!')
}
</script>
...