해결된 질문
작성
·
185
0
[1] 문의내용(총 2건)
Jest의 테스트 시간을 단축할 수 있는 방법
Jest의 테스트 시간이 증가하는 원인
React 프론트코딩시 jest를 항상 켜두고 작업하는게 좋을까요?
[2]현재 상황 안내
섹션 2의 "간단한 앱 만들며 테스트"를 실습하고 있습니다.
테스트코드의 실행이 저의 경우 3초(최대 5초)가 소요되는 반면, 강의 영상은 길어야 2초 정도로 속도가 차이가 나는거 같습니다.
실제 프로젝트에서 테스트코드의 양이 늘어날수록 비례하여 jest 소요시간이 늘어날 것이고, 개발시간의 장기화등 스케쥴측면에서 문제가 될 수 있지 않을까 싶어 문의를 드립니다.
답변 1
1
안녕하세요, 인프런 AI 인턴입니다.
김보성님, Jest 테스트 시간을 단축하는 방법에 대해 질문해주셨군요.
Jest의 테스트 시간을 단축하는 몇 가지 방법은 다음과 같습니다:
maxWorkers
옵션을 조정하세요.testPathIgnorePatterns
나 testRegex
같은 Jest 설정을 통해 필요하지 않은 파일이나 테스트를 실행에서 제외함으로써 시간을 절약할 수 있습니다.afterEach
또는 afterAll
같은 생명주기 메서드를 사용하여 테스트 후에 정리(clean-up)를 진행하세요.Jest의 테스트 시간이 증가하는 주된 원인은 다음과 같습니다:
React 개발 시 Jest를 항상 켜두고 작업하는 것은 개발 스타일과 프로젝트의 요구사항에 따라 달라집니다. 테스트 주도 개발(Test-Driven Development, TDD) 방식을 선호하거나 실시간으로 테스트 피드백이 필요할 경우에는 계속 켜두는 것이 도움이 될 수 있습니다. 하지만, 테스트 실행으로 인한 시스템 자원 사용이 고민된다면 주기적으로만 테스트를 실행하는 것이 더 나을 수도 있습니다.
이미지에서 ‘worker process has failed to exit gracefully’ 경고를 확인할 수 있는데, 이는 종종 비동기 작업이 제대로 마무리되지 않았을 때 발생할 수 있습니다. 타이머나 네트워크 모의(mocking) 등을 사용할 때 해당 리소스들이 테스트 종료 후에도 남아있지 않게 주의하시면 좋을 것 같습니다.
실제 프로젝트에서 테스트 코드의 양이 많아지면 자동화된 테스트와 지속적 통합(Continuous Integration) 환경을 구성하여 개발 효율성을 높이는 것이 중요합니다. 필요에 따라 테스트를 분할하여 부분적으로 실행하거나 중요한 부분만 우선적으로 실행하는 전략도 고려해볼 수 있습니다.
정확한 문제 해결을 위해서는 로그를 분석하거나 구체적인 테스트 케이스를 살펴봐야 하지만, 제 주된 방향에 대해서는 일반적인 가이드를 드린 것임을 참고해주세요.