【问题标题】:React-Select & User-Event LibraryReact-Select 和用户事件库
【发布时间】:2021-06-15 10:25:46
【问题描述】:

我想使用 User-Event-Testing-Library (https://testing-library.com/docs/ecosystem-user-event/) 测试我的 react-select 组件。
我只是想测试如果点击后选择打开菜单。

这是我的代码:

如果我使用 fireEvent 它可以工作,但是如果我使用 useEvent 它就不能工作..

  // WORKING with fireEvent


  test('should open select onclick', () => {
    const wrapper = render(
      <ReactSelect
        className="select"
        classNamePrefix="select"
        options={[{ value: '0', label: 'Label' }]}
      />,
    );
    expect(
      wrapper.container.getElementsByClassName('select__option').length,
    ).toBe(0);
    userEvent.click(wrapper.container.querySelector('input'));
    expect(
      wrapper.container.getElementsByClassName('select__option').length,
    ).toBe(1);
  });
  // NOT WORKING with userEvent

  test('should open select onclick', () => {
    const wrapper = render(
      <ReactSelect
        className="select"
        classNamePrefix="select"
        options={[{ value: '0', label: 'Label' }]}
      />,
    );
    expect(
      wrapper.container.getElementsByClassName('select__option').length,
    ).toBe(0);
    userEvent.click(wrapper.container.querySelector('input'));
    expect(
      wrapper.container.getElementsByClassName('select__option').length,
    ).toBe(1);
  });

【问题讨论】:

    标签: reactjs react-select testing-library user-event


    【解决方案1】:

    我终于将 Jest 升级到 v26 并且可以正常工作了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-17
      • 2021-01-01
      • 2021-06-27
      • 2022-11-14
      • 2021-05-26
      相关资源
      最近更新 更多