【问题标题】:Vue utils - Check if a method is being called with jestVue utils - 检查是否正在用玩笑调用方法
【发布时间】:2020-07-15 19:41:36
【问题描述】:

我正在做一些测试,我想检查在我触发元素点击后是否调用了某个方法,但测试一直说没有调用,我不知道为什么

这是我的测试:

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,不知道自己做错了什么 这个方法是在组件中触发的,所以我知道它有效

【问题讨论】:

    标签: unit-testing vue.js jestjs


    【解决方案1】:

    正如trigger documentation 所说,

    在 Wrapper DOM 节点上异步触发事件。

    应该是:

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

    await 的使用假定测试函数应该是async。

    【讨论】:

      猜你喜欢
      • 2021-09-24
      • 2021-12-11
      • 2022-10-16
      • 2020-03-10
      • 2018-10-15
      • 2019-01-25
      • 1970-01-01
      • 2022-01-09
      • 1970-01-01
      相关资源
      最近更新 更多