Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何在Vue jest测试中等待引导模式动画完成_Jquery_Testing_Vue.js_Jestjs_Bootstrap Modal - Fatal编程技术网

Jquery 如何在Vue jest测试中等待引导模式动画完成

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.

是否可以在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.
    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
  }
}