嗨,我开玩笑地为onChange函数编写了一个测试,但是失败了。
我的onChange函数代码是-
const handleDateType = (event: any) => {
setAssignFilerData({
...assignFilerData,
dateType: event.target.value
});
};
主要组件代码为-<SelectDropdown defaultValue={assignFilerData.dateType} handleDropdown={handleDateType} dropdownData={dateTypeData} />
选择下拉列表组件代码-
const SelectDropdown = (props: any) => {
const { defaultValue , handleDropdown, dropdownData } = props;
return (
<NativeSelect
value={defaultValue}
onChange={handleDropdown}
inputProps={{
name: 'name',
id: 'name-native-disabled',
}}
>
<option value="">None</option>
{dropdownData.map((item: any) => (
<option key={item} value={item}>
{item.charAt(0).toUpperCase() + item.slice(1)}
</option>
))}
</NativeSelect>
);
}
最后我的单元测试代码是-
it('should render handleDateRange function', () => {
const onSearchMock = jest.fn();
const render = shallow(<Assignment />);
act(() => {
render.find(SelectDropdown).first().simulate('change', { target: { value: 'A' } });
});
expect(onSearchMock).toBeCalledWith('A');
expect(render).toMatchSnapshot();
render.unmount();
});
这是我的主要任务。如何成功运行handleDateType测试用例?