小编Tho*_*lay的帖子

在单元测试中触发 vue-select 下拉项选择

问题:无法在单元测试中以编程方式触发 Vue-Select3 项目下拉选择。

我已经尝试使用vue-test-utils@testing-library/vue以及在浏览器中以编程方式触发点击事件以强制选择列表项。然而,这些都没有奏效。我设法触发选择的唯一方法是获取 VueSelect 实例并发出“输入”事件。我还尝试在下拉容器等上触发不同的事件。

// Failed

// testing-library
const dropdownItem = getAllByTestId('dropdown-item')
fireEvent.click(dropdownItem[0])

// test-utils
wrapper.find('[data-testid=dropdown-item]').trigger('click')

// In browser
document.querySelectorAll('.vs__dropdown-item')[0].click()

// Success
wrapper.find(VueSelect).vm.$emit('input', payload)
Run Code Online (Sandbox Code Playgroud)

当前结果:当点击事件被触发时,什么也不会发生。 预期结果:当点击事件被触发时,Vue-Select 应该选择该项目并发出 'input' 事件。

unit-testing vue.js jestjs vue-test-utils vue-select

6
推荐指数
1
解决办法
1584
查看次数