我有以下方法可以进行测试Jest
(好吧,更准确地说是vitest
):
export const handleSave = async (
dispatch: React.Dispatch<DeveloperAction>,
e: FormEvent<HTMLFormElement>,
handleClose: () => void,
setErrorMessage: (errorMessage: string) => void) => {
e.preventDefault();
const formData: FormData = new FormData(e.currentTarget)
const developer: DeveloperType = toDeveloperType(formData)
try {
const resp: AxiosResponse = await axios({
method: 'PUT',
url: `${endpointBackEnd}/developers/${formData.get('id')}`,
data: developer
});
dispatch({
type: DEVELOPER_ACTION_TYPES.EDIT,
payload: resp.data
})
handleClose();
} catch (err) {
handleError(err, setErrorMessage)
}
}
我的问题是如何传递一个FormEvent
,函数可以使用该传递来创建一个,FormData
然后该传递用于从中提取信息?
我应该传递一个模拟的 FormEvent 吗(我该怎么做)?或者创建一个 FormEvent 实例(问题是一样的,请问该怎么做?)
感谢您的帮助!