Javascript TypeError:无法执行';调度事件';在';EventTarget';:参数1的类型不是';事件';

Javascript TypeError:无法执行';调度事件';在';EventTarget';:参数1的类型不是';事件';,javascript,reactjs,unit-testing,jestjs,react-testing-library,Javascript,Reactjs,Unit Testing,Jestjs,React Testing Library,我正在学习react中的测试,现在我正在尝试为登录页面创建一个测试,不幸的是,我遇到了一个错误 这是测试文件 import React from 'react'; import { render, fireEvent } from '@testing-library/react'; import { BrowserRouter as Router } from 'react-router-dom'; import { act } from 'react-dom/test-utils'; impo

我正在学习react中的测试,现在我正在尝试为登录页面创建一个测试,不幸的是,我遇到了一个错误

这是测试文件

import React from 'react';
import { render, fireEvent } from '@testing-library/react';
import { BrowserRouter as Router } from 'react-router-dom';
import { act } from 'react-dom/test-utils';
import Login from 'pages/Auth/Login';
import '@testing-library/jest-dom/extend-expect'


// describe what we are testing.....
describe('Login Component', () => {
 
    it('renders the sign in page with a form submission', async () => {
        const { getByTestId, getByPlaceholderText, queryByTestId } = render(
            <Router>
                <Login />
            </Router>
          );

        await act(async () => {
          fireEvent.change(getByPlaceholderText('Business e-mail'), { target: { value: 'karl@gmail.com' } });
          fireEvent.change(getByPlaceholderText('Password'), { target: { value: 'password' } });
          fireEvent.click(getByTestId('sign-in'));
    
          expect(getByPlaceholderText('Email address').value).toBe('karl@gmail.com');
          expect(getByPlaceholderText('Password').value).toBe('password');
        });
      });
})
从“React”导入React;
从'@testing library/react'导入{render,firevent};
从“react Router dom”导入{BrowserRouter as Router};
从'react dom/test utils'导入{act};
从“pages/Auth/Login”导入登录名;
导入“@testing library/jest dom/extend expect”
//描述我们正在测试的内容。。。。。
描述('登录组件',()=>{
它('使用表单提交呈现登录页面',异步()=>{
常量{getByTestId,GetByPlaceholder Text,queryByTestId}=render(
);
等待动作(异步()=>{
change(getByPlaceholderText('Business e-mail'),{target:{value:'karl@gmail.com' } });
change(getByPlaceholderText('Password'),{target:{value:'Password'}});
单击(getByTestId('sign-in');
expect(getByPlaceholderText('Email address').value).toBe('karl@gmail.com');
expect(getByPlaceholderText('Password').value).toBe('Password');
});
});
})
当我运行
npm测试时
我得到以下错误


我需要什么来解决这个问题?

没有必要
等待act(异步()=>
试着这样做:`

it('renders the sign in page with a form submission', async () => {
    const { getByTestId, getByPlaceholderText, queryByTestId } = render(
        <Router>
            <Login />
        </Router>
      );
      fireEvent.change(getByPlaceholderText('Business e-mail'), { target: { value: 'karl@gmail.com' } });
      fireEvent.change(getByPlaceholderText('Password'), { target: { value: 'password' } });
      fireEvent.click(getByTestId('sign-in'));

      expect(getByPlaceholderText('Email address').value).toBe('karl@gmail.com');
      expect(getByPlaceholderText('Password').value).toBe('password');
  });
it('使用表单提交呈现登录页面',async()=>{
常量{getByTestId,GetByPlaceholder Text,queryByTestId}=render(
);
change(getByPlaceholderText('Business e-mail'),{target:{value:'karl@gmail.com' } });
change(getByPlaceholderText('Password'),{target:{value:'Password'}});
单击(getByTestId('sign-in');
expect(getByPlaceholderText('Email address').value).toBe('karl@gmail.com');
expect(getByPlaceholderText('Password').value).toBe('Password');
});
`