Тестирование компонента React/Jest с помощью Window.onload

#javascript #reactjs #jestjs

#язык JavaScript #реагирует на #jestjs

Вопрос:

Я тестирую функциональный компонент, который использует Window.onload, чтобы оставаться на определенной странице. Пример кода

 function SignUpForm(props) {   const history = useHistory();  const {setOnPage } = props;  window.onload = setOnPage("/registrarse")  

Мой тест-это:

 import React from 'react' import Enzyme from "enzyme"; import { screen, render } from '@testing-library/react'  import SignInScreen from './SignInScreen' import Adapter from "enzyme-adapter-react-16"  const { shallow } = Enzyme;   Enzyme.configure({ adapter: new Adapter() })  describe('Test for login in form', () =gt; {  test("renders correctly", () =gt; {  shallow(lt;SignInScreen/gt;);  }); });  

Ошибка находится в строке Window.onload, я не смог найти никакого решения, которое могло бы мне помочь.

 setOnPage is not a function  

Комментарии:

1. Не могли бы вы показать, как вы создаете свою форму регистрации, пожалуйста ? Я предполагаю, что вы неправильно передаете функцию setOnPage этому компоненту

2. Вы уверены, что у реквизита есть свойство setOnPage? Добавьте a console.log({setOnPage}) после const {setOnPage} = props; того, как вы должны получить {setOnPage: f } в консоли, показывающей, что это функция