我正在做一些测试,我想检查在触发元素中的单击后是否调用了某个方法,但测试一直说没有调用该方法,我不知道为什么
这是我的测试:
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,我不知道我做错了什么
这个方法是在组件中触发的,所以我知道它有效
最佳答案
Triggers an event asynchronously on the Wrapper DOM node.
它应该是:
const element= wrapper.find('.c-element').trigger('click')
await wrapper.vm.$nextTick()
expect(somethingChanged).toBeCalled()
await
的使用假设测试函数应该是 async
.
关于unit-testing - Vue utils - 检查是否用 Jest 调用了一个方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61015233/