알고리즘

종만북

  • 7.4 - 울타리 잘라내기
    • 어제는 분명히 안됐는데, 오늘은 바로 풀었다. 참 신기하다.
  • 7.5 - 팬미팅(패스)

백준

Jest

  • 여러 테스트에서 각 테스트가 종료되면 모든 데이터를 비우도록 테스트를 설정했다. 그런데 Jest에서는 기본적으로 여러 개의 프로세스를 생성해서 테스트들을 동시에 돌린다. 그러다 보니까, 각 테스트 케이스의 afterEach에서 DB가 비워지는 작업과 DB에 데이터를 넣는 작업이 겹치면서 간헐적으로 테스트가 실패하는 경우가 발생했다. 이를 해결하기 위해서는 --runInBand 플래그를 설정해야 한다.
  • 생각해보니 위의 방법은 딱히 좋지 않았다. 어차피 나의 목적은 Repository를 테스트 하는 것인데, Repository는 MongoDB의 특정 Collection에만 관련이 있으므로, 해당 Collection을 drop하는 코드를 afterEach에 넣으면 다른 테스트랑 겹칠 일이 없을 것이므로 이렇게 해결하는 방법이 더 좋은 방법이라고 생각한다.