Javascript Jest/Vue—如何正确测试在发出事件后是否调用了我的函数 上下文

Javascript Jest/Vue—如何正确测试在发出事件后是否调用了我的函数 上下文,javascript,unit-testing,vue.js,jestjs,Javascript,Unit Testing,Vue.js,Jestjs,我有一个带有@resize触发器的vue组件,我想检查当我的父组件发出“resize”事件时,它是否调用@resize触发器中的函数 然后,在我的方法中,我使用了“handleResize”函数,该函数用于重新计算一些svg和dom元素的宽度和高度。 根据文档,我可以设置如下内容: 从'@vue/test-utils'导入{mount} 测试('emit demo',async()=>{ 常量包装=装载(组件) wrapper.vm.$emit('foo') wrapper.vm.$emit

我有一个带有@resize触发器的vue组件,我想检查当我的父组件发出“resize”事件时,它是否调用@resize触发器中的函数


然后,在我的方法中,我使用了“handleResize”函数,该函数用于重新计算一些svg和dom元素的宽度和高度。
根据文档,我可以设置如下内容:

从'@vue/test-utils'导入{mount}
测试('emit demo',async()=>{
常量包装=装载(组件)
wrapper.vm.$emit('foo')
wrapper.vm.$emit('foo',123)
Wait wrapper.vm.$nextTick()//等待处理$emit
//断言将在这之后进行
})
以下是我所做的:

it('should call handleResize',async()=>{
开玩笑
const spy=jest.spyOn(wrapper.vm,'handleResize')
wrapper.vm.$emit('resize')
expect(spy).not.toHaveBeenCalled()
wait wrapper.vm.$nextTick()
console.log(wrapper.emissed())
expect(spy).tohavebeincalled()
})
我希望最后一个断言为真,但我得到了以下结果:

错误:expect(jest.fn()).toHaveBeenCalled()
预期呼叫数:>=1
收到的呼叫数:0
开玩笑
//发出的日志:
console.log
[对象:空原型]{调整大小:[[]]}
如果我调用
wrapper.emissed()
它包含我的“resize”事件,但没有调用我的方法,我知道该方法被调用,因为我在编码时手动检查了它,当我调整组件大小时,一切都按我希望的那样工作,但在jest测试期间,它似乎不工作