如何在开玩笑中编写onChange的测试用例?

时间:2020-10-15 07:43:17

标签: reactjs jestjs

嗨,我开玩笑地为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测试用例?

0 个答案:

没有答案