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