react单测用例 使用React Testing Library怎么模拟Tab组件change事件
可以使用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函数被调用了,并且传入了正确的参数
原文地址: http://www.cveoy.top/t/topic/fsMI 著作权归作者所有。请勿转载和采集!