vue.js - 如何使用 vue 测试工具触发鼠标中键
问题描述
我正在为一个选项卡组件编写一个测试,该组件应该通过 x 图标关闭选项卡,也可以通过鼠标中键单击来关闭选项卡。x 图标的测试没有问题,但我很难触发这个鼠标中键事件。
我本来希望它可以与此一起使用:
wrapper.find('.tab').trigger('click', { button: 1 });
也试过:
wrapper.find('.tab').trigger('click.middle');
找到的组件不是问题。出于测试目的,我将关闭功能与正常的点击事件挂钩,这样测试就成功了。
这可能与我如何在选项卡组件上实现中间点击有关吗?这样做是这样的:
<div class="tab"
@mousedown.prevent @click.middle="close()"
[...]
</div>
任何线索如何工作?该文档没有详细介绍该主题。
解决方案
我在测试在同一元素上有多个鼠标事件的组件时遇到了这个问题。为了测试@click.middle,我不得不触发一个“mouseup”事件。
尝试这个:
wrapper.find('.tab').trigger('mouseup', { button: 1 })
推荐阅读
- angularjs - AngularJS 的自定义属性指令
- javascript - 传单,重现/调用拖动事件
- ios - 线程 1:signal SIGABRT --builds 成功但应用程序在模拟器中崩溃
- angular - --routing-scope 在 Angular CLI 中代表什么
- vba - 在用户窗体内的 msgbox 上选择 yes 时运行子程序
- html - 突出显示的列表项,但不是整行
- javascript - 使用 babel-eslint 导致 false no-empty 错误
- javascript - jquery根据查询字符串值更新锚标签的图像src
- javascript - 检查数组中的字符串是否包含另一个字符串 React Native
- r - 光栅投影到 UTM 到 R 中的 Lat-Lon