[TIL] 2019-11-17

undefcat·2019년 11월 16일
0

TIL

목록 보기
65/228

2019-11-17 일요일

Jest afterEach, afterAll

나의 테스트 코드에서 DB에 대한 초기화 작업은 아래와 같이 실행된다.

  • 루트 스코프 afterEach에서 모든 컬렉션을 삭제한다
  • 루트 스코프 afterAll에서 mongoose.disconnect()를 호출한다.

이 때 afterEachasync함수를 받는데, 문제가 이 경우 afterEach 내에서는 제대로 await이 작동하지만 afterAllafterEach가 끝나는 것을 기다리지 않고 실행된다는 점에 있다.
즉, SetUp Tear Down계열의 함수들은 async를 사용한다고 하더라도 그냥 done을 넘겨야만 한다.

TypeScript path alias

오직 컴파일 단계에서만 사용되고, 컴파일 이후에는 적용되지 않는다. 도대체 왜 컴파일 후의 경로는 적용되지 않는 것일까? 예를 들어 root/src/...의 경로를 @src/...path alias를 이용할 수 있는데, 컴파일 이후에도 여전히 import문에서 @src/...로 나오기 때문에 오류가 발생한다.

이를 위해서 가장 간단한 해결 방법은 module-alias 패키지를 활용하는 것이다.

굳이 컴파일 이후까지 책임지지 않는건 좀 더 활용의 여지를 두기 위해 그렇게 한 것일까? 궁금하다.

profile
undefined cat

0개의 댓글