문제
Jest CLI를 사용할 때 --watch
--coverage
를 같이 사용하게 되면 coverage가 정상적으로 모든 파일을 표시하지 못한다.
원인
그 이유는 --watch
옵션이 갖고 있는 다음과 특성과 충돌하기 때문이다.
공식문서에 다음과 같이 나와있다.
jest --watch #runs jest -o by default
jest --watchAll #runs all tests
jest -o
: Run tests related to changed files based on hg/git (uncommitted files)
--watch
옵션을 사용하면 jest -o
로 테스트를 실행하게 된다. -o
는 hg나 git에서 변경된 파일만 실행하게 된다.
해결책
--coverage
를 계속 확인하면서 파일 변경시 테스트를 다시 실행하고 싶다면 --watchAll
을 써야한다.
jest --watchAll --coverage