콘솔 내용

Test Suites: 1 passed, 1 total
Tests:       5 passed, 5 total
Snapshots:   0 total
Time:        1.527 s, estimated 2 s

Ran all test suites.

Jest did not exit one second after the test run has completed.

"This usually means that there are asynchronous operations that weren't stopped in your tests. 
Consider running Jest with `--detectOpenHandles` to troubleshoot this issue."

 

테스트를 한 후에 뭔가를 멈추지 않았다고 한다. 

 

콘솔에서 알려준대로 package.json 에서 "test:e2e" 에  --detectOpenHandles 추가

그 결과 해당 문구는 뜨지 않았다.

하지만 테스트가 끝나지 않아 내가 강제로 종료를 해야하는 상황이 발생.

 

이유는 Jest 공식문서: -- detectOpenHandles 를 참고해보니

이 옵션을 사용하면 성능이 저하되며 디버깅을 할때만 사용하라고 한다.

 

옵션을 추가하지 않고 해결하기 위해 다시 검색을  했다.

How To Fix: Jest Did Not Exit 에 따르면

나의 경우에는 app을 이용하여 연결을 하였지만 app 것을 끝내지 않아서 발생한 것 같다.

 

아래의 코드를 마지막에 추가하고 실행해보니 테스트가 끝나후 안전하게 종료 되었다.

afterAll(async () => {
    await app.close();
  });

 

 

e2e 테스트 중에 연결된 것 ( app, database) 은 테스트가 끝나면 모두 종료하자.

+ Recent posts