오류들

[Jest & Router] Jest에서 Link태그 사용시 에러

728x90

 

jest를 활용해서 테스트 코드를 뜨던 중 해당 에러가 발생했다.

 

TypeError: Cannot destructure property 'basename' of 'React__namespace.useContext(...)

 

 

조금 찾아보니.. Link태그를 사용한 것이 문제가 되었다. Link 태그를 사용하려면 Router (v5라면 BrowserRouter) 로 감싸져 있어야 하는데 jest에서 감싸주지 않아서 생긴 문제였다.

 

따라서 가장 가벼운 라우터인

 

<MemoryRouter></MemoryRouter>

 

 

로 감싸주어서 해결했다.

 

 

 render(
        <MemoryRouter>
          <Component width={1100} />
        </MemoryRouter>
    );

 

 

728x90