Jest 테스트 실패 문제 해결

Jest 실패했습니다: 파일 변경 감지 오류 React.js 개발자이고 Jest와 Git에 익숙한 경우, 앱을 테스트하기 위해 테스트를 작성하는 동안 짜증나는 문제를 마주칠 수 있습니다. 디렉토리를 Git 저장소로 만들고 테스트를 실행하려고 시도하면 다음과 같은 오류가 표시될 수 …

title_thumbnail(Jest 테스트 실패 문제 해결)

Jest 실패했습니다: 파일 변경 감지 오류

React.js 개발자이고 Jest와 Git에 익숙한 경우, 앱을 테스트하기 위해 테스트를 작성하는 동안 짜증나는 문제를 마주칠 수 있습니다. 디렉토리를 Git 저장소로 만들고 테스트를 실행하려고 시도하면 다음과 같은 오류가 표시될 수 있습니다:

Error watching file for changes: EMFILE
  at exports._errnoException (util.js:1022:11)
  at FSEvent.FSWatcher._handle.onchange (fs.js:1406:11)
  ...

이 오류는 보통 .git 디렉토리의 존재로 인해 발생하며, 해당 디렉토리를 제거하면 문제없이 테스트를 실행할 수 있습니다. 그러나 테스트를 실행하기 위해 버전 관리를 포기할 필요는 없습니다. 이 문제에 대한 몇 가지 해결책을 알아보겠습니다.

해결책 1: Watchman 업그레이드

오류는 Watchman의 구버전으로 인해 발생할 수 있습니다. 이를 해결하기 위해 가장 최신 버전의 Watchman을 설치하는 것이 좋습니다. 아래의 단계를 따르세요:

npm install -g watchman
sudo chown -R $(whoami) /usr/local/var/run/watchman

해결책 2: Jest에서 Watchman 비활성화

Watchman을 업그레이드해도 문제가 해결되지 않는 경우, Jest에서 Watchman을 비활성화해볼 수 있습니다. Jest는 Watchman의 사용을 제외시키는 옵션을 제공합니다. 다음과 같이 수행할 수 있습니다:

// jest.config.js
module.exports = {
  // 기타 Jest 구성 옵션...
  watchman: false
};

해결책 3: Homebrew를 사용하여 Watchman 설치

macOS에서 Homebrew를 사용하는 경우, Watchman을 간단한 명령으로 설치할 수 있습니다:

brew install watchman

설치 중 권한 문제가 발생하는 경우 다음 명령을 실행하여 해결할 수 있습니다:

sudo chown -R $(whoami) /usr/local/var/run
brew postinstall watchman

해결책 4: 추가 팁

위의 해결책 중 하나가 작동하지 않는 경우, 다음 몇 가지 추가 팁을 확인해볼 수 있습니다:

  • Jest 업데이트: 최신 버전의 Jest가 설치되어 있는지 확인하려면 npm install --save-dev jest@latest를 실행하세요.
  • create-react-app 문서 검토: create-react-app을 사용하는 경우, 이 문제에 대한 구체적인 해결책을 찾기 위해 해당 문서를 참조하세요.

이러한 해결책 중 하나를 따라하면 Error watching file for changes: EMFILE 문제를 해결하고 React.js 앱에 대한 테스트를 계속해서 작성할 수 있습니다. 즐거운 코딩하세요!

참고 자료 : 

reactjs

Leave a Comment