Jquery 如何在Vue jest测试中等待引导模式动画完成
是否可以在Vue jest测试中等待模态动画完成?我的问题是,当我单击按钮(button.add_modal)时,div.My-modal应该会得到一个类“show”,但在触发我的按钮后,该类似乎没有附加到我的html(jest test)中,在works中的开发工具中也很好Jquery 如何在Vue jest测试中等待引导模式动画完成,jquery,testing,vue.js,jestjs,bootstrap-modal,Jquery,Testing,Vue.js,Jestjs,Bootstrap Modal,是否可以在Vue jest测试中等待模态动画完成?我的问题是,当我单击按钮(button.add_modal)时,div.My-modal应该会得到一个类“show”,但在触发我的按钮后,该类似乎没有附加到我的html(jest test)中,在works中的开发工具中也很好 wrapper.find('button.add_modal').trigger('click'); //This should return true, but I'm getting false.
wrapper.find('button.add_modal').trigger('click');
//This should return true, but I'm getting false.
expect(wrapper.contains('div#my-modal.show')).toBe(true);
我们在测试一个包含。我通过观察他们自己发现了一些有用的东西。在这里,您将看到以下内容在整个过程中重复:
// take action to open modal and then
await waitNT(wrapper.vm)
await waitRAF()
await waitNT(wrapper.vm)
await waitRAF()
…其中,waitNT
和waitRF
的定义如下:
这将允许DOM更新完成,并在测试中“显示”模式。你可能需要调整你给他们打电话的次数。触发模式打开后,您将看到它们在anywhere中重复1-3次
另一个有用的项目是在包装挂载中删除转换,例如:
wrapper.mount(MyModalComponent, {
stubs: {
transition: false
}
}
这确保了转换是同步进行的,而不是异步进行的
wrapper.mount(MyModalComponent, {
stubs: {
transition: false
}
}