#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 } в консоли, показывающей, что это функция