
“Create React App cannot find tests” 문제를 해결하는 방법
create-react-app을 사용하고 최근에 테스트 파일을 새로운 /tests 폴더로 이동한 경우, npm run test를 실행하면 “테스트를 찾을 수 없음” 오류가 발생할 수 있습니다. 이 문제는 create-react-app의 기본 구성이 테스트 파일을 특정 디렉토리에 위치시키기를 기대하기 때문에 발생합니다.
파일명 규칙
create-react-app 문서에 따르면, 기본적으로 사용되는 테스팅 프레임워크인 Jest는 다음과 같은 파일명 규칙을 가진 테스트 파일을 찾습니다:
__tests__폴더에.js확장자를 가진 파일.test.js확장자를 가진 파일.spec.js확장자를 가진 파일
.test.js 또는 .spec.js 파일(또는 __tests__ 폴더)은 src 최상위 폴더 아래 어떤 깊이에 있어도 됩니다. 혼동을 피하고 코드 가독성을 높이기 위해, 테스트 파일 또는 __tests__ 폴더는 테스트하는 코드와 가까운 곳에 위치하는 것이 권장됩니다.
예를 들어, 만약 App.test.js와 App.js 파일이 같은 폴더에 있다면, 테스트 파일은 다음과 같이 간단하게 앱을 import할 수 있습니다:
import App from './App'
이 방식은 긴 상대 경로를 사용하지 않고, 특히 큰 프로젝트에서 테스트를 더 쉽게 찾을 수 있도록 도와줍니다.
create-react-app 설정하기
create-react-app이 새로운 /tests 폴더를 테스트 위치로 인식하지 못하는 문제를 해결하기 위해 몇 가지 조정을 할 수 있습니다:
- 테스트 파일이
.test.js와 같은 위에서 언급한 파일명 규칙을 준수하는지 확인하세요. - 테스트 파일을
__tests__폴더 또는 지원하는 파일명 규칙을 가진 폴더에 위치시키세요. - 테스트 파일을 비표준 위치에 설정하려면, 설정 파일인
package.json에서jest구성 내에서testMatch속성을 적절한 glob 패턴을 포함하여 수정하세요.
이러한 조정을 마치면, npm run test를 실행하면 새로운 /tests 폴더에 위치한 테스트가 성공적으로 실행됩니다.
결론
권장된 규칙을 따르고 create-react-app을 적절하게 구성함으로써, 테스트를 다른 위치로 이동시킬 때 테스트를 찾을 수 없는 문제를 해결할 수 있습니다. create-react-app의 유연성과 강력함을 활용하여 코드와 테스트를 효율적으로 구조화함으로써, React 애플리케이션의 개발을 더욱 원활하게 진행하고 유지보수성을 향상시킬 수 있습니다.
참고 자료 :
https://stackoverflow.com/questions/49602402/create-react-app-cannot-find-tests
같은 카테고리의 다른 글 보기 :