
The `document` global was defined when React was initialized, but is not defined anymore. This can happen in a test environment if a component schedules an update from an asynchronous callback, but the test has already finished running. To solve this, you can either unmount the component at the end of your test (and ensure that any asynchronous operations get canceled in `componentWillUnmount`),..
- jest를 선택한 이유 통합테스트는 단위테스트와 e2e테스트의 중간의 테스트 기법임. 그렇기에 통합테스트를 한다는 것은, 단위테스트와 e2e테스트의 장점을 동시에 가져갈 수 있으므로 가성비가 좋은 테스트라고 할 수 있기에 jest를 이용해서 사용. - jest에서 cypress로 바꿔보려고 결심한 이유 페이지 단위로 나누어 핵심 기능들을 테스트했고, 해당 테스트를 위해서는 매번 use~~로 시작하는 api를 비동기 요청하고 있는 커스텀훅들을 모킹해주어야 했고, 로직이 크게 변경되면 테스트 코드를 여러군데 많이 손보아야 했음. 이렇다보니 테스트코드가 정말 버그를 잡는 용도로서의 기능보다, 테스트 코드가 작성되있는 프로젝트야~ 라는 느낌의 테스트코드만 작성하게됨. 테스트가 유의미하다고 느껴지지 않을 정도..

프로젝트가 복잡해질수록, import 경로가 복잡해지는 경우가 있다. import "../../../../../../component/App"; 이렇게 되면, 제 3자가 봤을때 폴더의 구조를 파악하기도 힘들 뿐더러, ../ 문에 오타가 있을시에 수동으로 찾아나가는 수 밖에 없다. 그래서 필요한 것이 path aliasing이다. path aliasing은 특정 경로에 이름을 부여하여 그것을 path로 사용할 수 있다. 예를들어서, "@"를 "/src" 으로 지정해줄 수 있고, 갯수나 유형은 마음대로 가능하다. 그럼 이렇게 만들 수 있을 것이다. import "@/component/App"; 이제한번 "@"를 "/src"로 path alias 해보는 실습을 해보자. 1. webpack 설정 webpack...