ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • localStorage mocking 테스트파일
    기타 2021. 12. 2. 18:40
    반응형

    로그아웃시에 localStorage 에서 토큰을 지우는 작업이 되어야하는 부분 테스트 코드를 작성하는데

     

     

    const localStorageSpy = jest.spyOn(window.localStorage,'removeItem');
    userEvent.click(screen.getByText('logout'));
    
    expect(localStorageSpy).toBeCalledWith('_token') 
    // localStorage.removeItem('_token') 이 작동되나 확인하는코드

    근데 이게 테스트가 안됬다 왜냐면 window.localStorage 는 removeItem 이라는 method를 가지고 있지 않기때문이다 ㅎㅎ

    spyOn 으로 mocking 할때는 jest.spyOn( 객체 , '메서드네임'); 해서 써야하는데 콘솔을 찍어보자

    window.localStorage 대신에 

    Object.getPrototypeOf(window.localStorage) , window.localStorage.__proto__ , Storage.prototype

    이걸로 쓰면 테스트 잘된다 

     

    다음에 prototype 이랑 webStorage 글스기

    '기타' 카테고리의 다른 글

    iframe pre render 가능한가요?  (0) 2021.12.17
    git stash 로 작업한내용 브랜치 옮기기  (0) 2021.12.16
    페이지 이동  (0) 2021.12.02
    call , prototype  (0) 2021.12.02
    nextjs mocking (testing library, jest)  (0) 2021.12.01
Designed by Tistory.