Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何为onChange编写测试用例?_Reactjs_Jestjs - Fatal编程技术网

Reactjs 如何为onChange编写测试用例?

Reactjs 如何为onChange编写测试用例?,reactjs,jestjs,Reactjs,Jestjs,嗨,我已经为onChange函数写了一个测试,但是它失败了 我的onChange函数代码是- const handleDateType = (event: any) => { setAssignFilerData({ ...assignFilerData, dateType: event.target.value }); }; it('should render handleDateRange fun

嗨,我已经为onChange函数写了一个测试,但是它失败了

我的onChange函数代码是-

const handleDateType = (event: any) => {
        setAssignFilerData({
            ...assignFilerData,
            dateType: event.target.value
        });
    };
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();
  });
主要部件代码为-

选择下拉式组件代码-

    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>
        );
    }
const SelectDropdown=(道具:任意)=>{
const{defaultValue,handleDropdown,dropdownData}=props;
返回(
没有一个
{dropdownData.map((项:any)=>(
{item.charAt(0.toUpperCase()+item.slice(1)}
))}
);
}
最后,我的单元测试代码是-

const handleDateType = (event: any) => {
        setAssignFilerData({
            ...assignFilerData,
            dateType: event.target.value
        });
    };
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();
  });
it('应该呈现HandleDaterRange函数',()=>{
const onSearchMock=jest.fn();
const render=shallow();
行动(()=>{
find(SelectDropdown).first().simulate('change',{target:{value:'A'}});
});
期望(在搜索锁上)。使用('A')调用;
expect(render.toMatchSnapshot();
render.unmount();
});
这里的作业是我的主要组成部分。如何成功运行handleDateType测试用例