Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.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 方法“;模拟&x201D;将在1个节点上运行。发现0而不是Jest错误_Reactjs_Typescript_Types_Jestjs_Enzyme - Fatal编程技术网

Reactjs 方法“;模拟&x201D;将在1个节点上运行。发现0而不是Jest错误

Reactjs 方法“;模拟&x201D;将在1个节点上运行。发现0而不是Jest错误,reactjs,typescript,types,jestjs,enzyme,Reactjs,Typescript,Types,Jestjs,Enzyme,我正在尝试使用Jest+测试我的表单输入字段和提交按钮。我在测试中遇到以下错误: 方法“模拟”将在1个节点上运行。改为找到0。 为了测试表单提交按钮和输入组,我可以做哪些更改 这是我的测试 it('handle submit', () => { const handleChange = jest.fn(); expect(handleChange).not.toHaveBeenCalled(); wrapper.find('Input').simulate('name', {

我正在尝试使用Jest+测试我的表单输入字段和提交按钮。我在测试中遇到以下错误:

方法“模拟”将在1个节点上运行。改为找到0。

为了测试表单提交按钮和输入组,我可以做哪些更改

这是我的测试

it('handle submit', () => {
  const handleChange = jest.fn();
  expect(handleChange).not.toHaveBeenCalled();
   wrapper.find('Input').simulate('name', { target: { value: 'Hello' } });
   expect(handleChange).toHaveBeenCalledTimes(1);
  expect(wrapper.state().searchTerm).toBe('Hello');
  wrapper.find('Button').simulate('click');
   expect(wrapper.state().searchTerm).toBe('Hello');
});

这意味着没有找到您的节点,所以我通过您发布的内容猜测您需要像这样搜索InputItle:wrapper.find('InputItle'),因为这就是您命名组件的方式。我尝试了wrapper.find('InputItle'),仍然是相同的错误@珍娜吉拉尔。您知道,要解决此错误,我还可以执行哪些其他步骤?您可以添加console.log(wrapper.debug())以查看组件是否正确呈现,还可以尝试搜索输入html标记wrapper.find('input')但请尝试调试组件,看看您的输入是否确实存在。我无法找出问题所在,因为我使用了console.log(wrapper.debug())并将粘贴在上面代码部分中的代码作为“调试代码”提供给我。你能看一下吗?我尝试了wrapper.find('input'),但它没有给出任何表示它存在的错误。你能检查一下代码,如果发现问题请告诉我吗@JeanAguilarTry搜索此包装器。find('input')。在(0)处,因为您的InputName组件是一个样式化组件,所以您无法搜索它,所以您需要找到dom元素。在调试中,我看到了两个输入,这就是为什么需要使用.at(0)指定第一个输入。我认为这应该能奏效。