Vue utils - проверяет, вызывается ли метод с помощью jest - PullRequest
0 голосов
/ 03 апреля 2020

Я провожу некоторые тесты и хочу проверить, вызывается ли метод после того, как я инициирую щелчок в элементе, но в тесте постоянно говорится, что он не был вызван, и я не знаю, почему

Вот мой тест:

test('some test', () => {
        const somethingChanged= jest.spyOn(Component.methods, 'somethingChanged')

        const wrapper = mount(Component, {
            propsData: data

        })

        const element= wrapper.find('.c-element').trigger('click')

        expect(somethingChanged).toBeCalled()
    })

Это говорит о том, что количество вызовов равно 0, и я не знаю, что я делаю неправильно. Этот метод запускается в компоненте, поэтому я знаю, что он работает

1 Ответ

0 голосов
/ 03 апреля 2020

Как trigger документация состояния,

Инициирует событие асинхронно на узле Wrapper DOM.

Это должно быть:

const element= wrapper.find('.c-element').trigger('click')
await wrapper.vm.$nextTick()
expect(somethingChanged).toBeCalled()

Использование await предполагает, что функция тестирования должна быть async.

...