Jest의 `--watch`옵션과 `--watchAll` 옵션

문제

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