在 Jest 中模拟 Vue 的输入事件可以使用 wrapper.find 方法找到对应的输入框元素,然后使用 setValue 方法模拟输入值。

以下是一个示例:

import { mount } from '@vue/test-utils';
import MyComponent from './MyComponent.vue';

describe('MyComponent', () => {
  it('should trigger input event when input value changes', () => {
    const wrapper = mount(MyComponent);
    const input = wrapper.find('input');

    // 模拟输入值
    input.setValue('test');

    // 断言输入框的值是否正确
    expect(input.element.value).toBe('test');

    // 断言是否触发了 input 事件
    expect(wrapper.emitted().input).toBeTruthy();
  });
});

在上面的示例中,我们首先使用 mount 方法挂载了一个组件,然后使用 wrapper.find 方法找到输入框元素。接着使用 setValue 方法模拟输入值,并使用 input.element.value 断言输入框的值是否正确。最后通过 wrapper.emitted().input 断言是否触发了 input 事件。

注意:在使用 setValue 方法之前,确保输入框元素已经加载完毕。如果输入框元素是通过异步操作加载的,可以使用 await 关键字等待元素加载完成

jest vue单测如何模拟输入框的输入事件

原文地址: https://www.cveoy.top/t/topic/ibdf 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录