可以使用fireEvent函数来模拟Tab组件change事件。

示例代码:

import React from 'react';
import { render, fireEvent } from '@testing-library/react';
import Tab from './Tab';

describe('<Tab />', () => {
  it('should call onChange when tab is changed', () => {
    const onChange = jest.fn();
    const { getByText } = render(
      <Tab activeTab="tab1" onChange={onChange}>
        <Tab.Item id="tab1" label="Tab 1">
          Content for Tab 1
        </Tab.Item>
        <Tab.Item id="tab2" label="Tab 2">
          Content for Tab 2
        </Tab.Item>
      </Tab>
    );

    fireEvent.click(getByText('Tab 2'));

    expect(onChange).toHaveBeenCalledWith('tab2');
  });
});

在这个例子中,我们首先渲染了一个Tab组件,并传入了一个onChange函数作为props。然后使用getByText函数获取到Tab 2的文本节点,并使用fireEvent函数模拟了一个点击事件。最后,我们断言onChange函数被调用了,并且传入了正确的参数

react单测用例 使用React Testing Library怎么模拟Tab组件change事件

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

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