Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.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 在控制值时,如何使用react测试库将文本键入formik?_Reactjs_Formik_React Testing Library - Fatal编程技术网

Reactjs 在控制值时,如何使用react测试库将文本键入formik?

Reactjs 在控制值时,如何使用react测试库将文本键入formik?,reactjs,formik,react-testing-library,Reactjs,Formik,React Testing Library,我目前在为使用值的formik字段编写测试时遇到问题。如果我使用defaultValue而不是value,我已经设法让测试正常工作,但我需要使用value。我试着在onChange中运行console.log,知道文本正在通过它,但我不明白为什么它没有设置。我需要改变什么才能让它工作 我试图测试的代码示例 尝试为调用userEvent.type()添加延迟。例如: await userEvent.type(字段,“配置文件名”{delay:1})您是否尝试过异步?如果字段具有正确的值,则异步可能

我目前在为使用值的formik字段编写测试时遇到问题。如果我使用defaultValue而不是value,我已经设法让测试正常工作,但我需要使用value。我试着在onChange中运行console.log,知道文本正在通过它,但我不明白为什么它没有设置。我需要改变什么才能让它工作

我试图测试的代码示例


尝试为调用
userEvent.type()
添加延迟。例如:


await userEvent.type(字段,“配置文件名”{delay:1})

您是否尝试过异步?如果字段具有正确的值,则异步可能是问题所在

 test("fills out profile name", async () => {
     const field = screen.getByLabelText("Profile Name");
     await userEvent.type(field, "profile name");
     expect(field).toHaveValue("profile name");
 });

const field=screen.getByLabelText(“配置文件名”);字段的值是否正确?它以空字符串的正确值开始。它从未向我显示输入中正确的预期值。请尝试将onChange包装为wait waitFor(async()=>{wait userEvent.type(field,“profile name”);})我尝试过使用async,但没有成功。我刚才仔细检查了你的建议,值仍然是一个空字符串。如果我尝试延迟,这是否意味着我需要等待之后?我尝试了延迟,然后尝试在它
wait waitFor(()=>{screen.debug(screen.getByLabelText(“Profile Name”);})之后添加它进行调试它仍然向我显示相同的空输入。这是错的吗?