오류: 구현되지 않음: window.scrollTo.Jest 테스트에서 이 오류를 제거하려면 어떻게 해야 합니까?
오류:
console.error node_modules/jsdom/lib/jsdom/virtual-console.js:29
Error: Not implemented: window.scrollTo
at module.exports (/Users/me/Projects/my-project/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)
at /Users/me/Projects/my-project/node_modules/jsdom/lib/jsdom/browser/Window.js:594:7
는 용고기 because because because를 하고 있기 때문에window.scrollTo(0,0).
,, 득, 취, 취, 습, 습, also, also, also, also, also.Not implemented Navigation 라이선스:
window.location.replace(externa_link) .assign.
리액트 라우터가 있는 솔루션에 대해 구글링을 시도했지만, 모든 예제는 다음을 포함하는 일부 구성 요소를 사용합니다.window.location.
이 오류를 피할 수 있는 방법이 있나요?아니면 숨길까?
제가 조사를 좀 해봤는데 페이스북 팀이 그 문제를 해결하지 않을 거예요. " " " " / " " " " " " 를 할 때 오류/수 방법이 ?jest test
우리 암호는 깨지지 않고 그렇지 않으면 모든 테스트는 통과합니다.
를 사용해서 jeast .--env=jsdom대부분의 브라우저 기능을 시뮬레이션하여 문제를 해결합니다.
테스트 환경을 설정하는 방법은 다음과 같습니다.
https://jestjs.io/docs/en/configuration#testenvironment-string
갱신하다
이것은, 에 유효했습니다.window.scrollTo 발생
https://qiita.com/akameco/items/0edfdae02507204b24c8
Import 후 테스트파일 상부에서 다음과 같이 모의합니다.
window.scrollTo = jest.fn();
그런 다음 description 안에 다음을 추가합니다.
afterAll(() => {
jest.clearAllMocks();
});
따라서 각 mock 후에 모든 mock을 리셋할 경우 다음과 같이 됩니다.
afterEach(() => {
jest.resetAllMocks();
});
afterAll(() => {
jest.clearAllMocks();
});
»*.test.js" " 가 window.scrollTo
it("renders without crashing", () => {
window.scrollTo = jest.fn()
})
만약 당신이 단지 이 모든 것을 얻으려고 한다면window.scrollTo(0,0)테스트 환경에서 올바르게 동작하려면 , 다음의 파일에 실장할 수 있습니다.
window.scrollTo = (x, y) => {
document.documentElement.scrollTop = y;
}
create-react-app을 사용할 때는 셋업 테스트파일에 기능을 추가하는 것이 좋습니다.
<project_name>\src\setupTests.js
zgreen의 답변을 구현하기로 했습니다.
window.scrollTo = (x, y) => {
document.documentElement.scrollTop = y;
}
이렇게 하면 해당 기능을 사용하는 모든 구성 요소가 올바르게 해결됩니다.
--env=jsdom@Chris가 추천한 답변은 최신 cra에서는 통하지 않았다.react-scripts@5.0.1CRA 테스트 문서에는 나에게 효과가 있는 다른 방법이 기재되어 있습니다.
★★★내setupTests.ts:
const windowMock = {
scrollTo: jest.fn(),
};
Object.assign(global, global, windowMock);
기본적으로는 모크 오브젝트에서 무시하는 윈도 함수를 정의하고 글로벌오브젝트를 재할당하여 글로벌오브젝트의 모든 속성을 포함하도록 하겠습니다(이 경우 "속성"은 함수입니다).
하면, 「 」는 「 」를 참조해 ....Not implemented...오류가 사라졌습니다. 은 다른 윈도 할 수 입니다.windowMock오브젝트도 그룹화되어 코드 해독기를 줄일 수 있습니다.
사이드 노트: cra 문서에 기재되어 있는 덮어쓰기에 관한 내용을 바탕으로 합니다.--env, cra는 이미 사용하고 있는 것 같습니다.--env=jsdom디폴트입니다.
나한텐 효과가 있어.
beforeEach(() => {
global.window = window
window.scroll = jest.fn()
window.HTMLElement.prototype.scrollIntoView = jest.fn()
})
언급URL : https://stackoverflow.com/questions/57311971/error-not-implemented-window-scrollto-how-do-we-remove-this-error-from-jest-t
'programing' 카테고리의 다른 글
| 언제 JSON 또는 XML 데이터를 SQL 테이블에 저장할 수 있습니까? (0) | 2023.03.15 |
|---|---|
| jest: 테스트 스위트를 실행하지 못했습니다. SyntaxError:예기치 않은 토큰 Import (0) | 2023.03.15 |
| MUI에서의 응답 타이포그래피? (0) | 2023.03.15 |
| 이너 조인은 에퀴 조인과 같은 건가요? (0) | 2023.03.15 |
| ALTER TABLE 문에 'ON DELETE CASCADE'를 추가하는 방법 (0) | 2023.03.15 |