jest.spyOn(window.localStorage.__proto__, "getItem");
jest.spyOn(window.localStorage.__proto__, "setItem");
jest.spyOn(window.localStorage.__proto__, "removeItem");
localStorage를 mocking하여 테스트하는 방법은 위와 같다.
일반적으로 localStorage와 sessionStorage는 Storage 객체를 상속받는데, 그 상속받는 메서드를 모킹해줘야한다.
참고로 localStorage와 sessionStorage의 __proto__를 찍어보면 다음과 같다!
'개발 > Web Programming' 카테고리의 다른 글
next.js의 Link 태그내부에 반드시 a태그를 사용해야할까? (0) | 2021.12.15 |
---|---|
jest 테스트시에, The `document` global was defined when React was initialized 에러 (0) | 2021.10.07 |
jest에서 MessageChannel등의 window 객체를 못찾는 경우 해결방법 (0) | 2021.10.06 |
jest에서 cypress로 테스트 프레임워크를 바꿔야겠다고 결심했다가 취소한 이유 (0) | 2021.09.20 |
webpack, typescript, jest, storybook의 path alias 적용하기 (0) | 2021.09.06 |