알고리즘
종만북
- 7.4 - 울타리 잘라내기
- 어제는 분명히 안됐는데, 오늘은 바로 풀었다. 참 신기하다.
- 7.5 - 팬미팅(패스)
백준
Jest
- 여러 테스트에서 각 테스트가 종료되면 모든 데이터를 비우도록 테스트를 설정했다. 그런데 Jest에서는 기본적으로 여러 개의 프로세스를 생성해서 테스트들을 동시에 돌린다. 그러다 보니까, 각 테스트 케이스의
afterEach
에서 DB가 비워지는 작업과 DB에 데이터를 넣는 작업이 겹치면서 간헐적으로 테스트가 실패하는 경우가 발생했다. 이를 해결하기 위해서는 --runInBand
플래그를 설정해야 한다.
- 생각해보니 위의 방법은 딱히 좋지 않았다. 어차피 나의 목적은
Repository
를 테스트 하는 것인데, Repository
는 MongoDB의 특정 Collection에만 관련이 있으므로, 해당 Collection을 drop하는 코드를 afterEach
에 넣으면 다른 테스트랑 겹칠 일이 없을 것이므로 이렇게 해결하는 방법이 더 좋은 방법이라고 생각한다.