강의를 들으며 jest로 테스트코드를 작성중
SyntaxError: C:\Users\jh\Desktop\dutchpay-app\src\components\CreateGroup.spec.tsx: Support for the experimental syntax 'jsx' isn't currently enabled (7:12): 라는 오류가 발생했다.
근데 친절하게도 터미널에서 @babel/preset-react 추가하라는 말과 babel.config에 추가하라는 메시지가 출력되었다.
추가로 jest 공식문서에 jsx를 지원하지 않는다고 나와있었다
https://jestjs.io/docs/code-transformation
npm i --save-dev @babel/core @bable/preset-react @babel/preset-env react-test-renderer
@babel/preset-typescript
다음과 같은 라이브러리를 설치해야하는 것 같아 설치후
src경로에 babel.config 파일을 생성하여 설정을 해주었다.
그런데도 오류가 발생해서 이유를 찾아보니 타입스크립트에 관한 추가적인 설정도 필요해보였다..뭐이라 많냐
대충 jest 는 jsDOM을 브라우저 환경에 맞게 제공해주어야한다는 것 같다. string으로 변환하라는 뜻?
jset.config.json 파일과 패키지 json 파일에서 또 설정을 해달라는 말이였다.. 지져스;;
이후에도 강의와 달리 타입스크립로 작성하다 보니 오류가 발생했는데 오랜 시간이 걸렷다..
추가로 @types/jest ts-jest jest-envioronment-jsdom 을 설치했다
테스트 코드 render(컴포넌트) 부분에서 계속 html?을 읽을수 없다는 에러 메시지가 나와
한참 찾아보다 jest-envioronment-jsdom 을 설치해서 해결할 수 있었다.
하.. 테스트 힘들다..
.jest.config.js
babel.config.json
tsconfig.jest.json
jest오류 사항 정리된 블로그:
'트러블슈팅' 카테고리의 다른 글
setState 로 인한 useEffect에서 일어나는 무한렌더링 (1) | 2023.12.01 |
---|---|
MongoDB Error: querySrv ENODATA (0) | 2023.09.14 |
next 13버젼 link 태그로 데이터 전달하기(props) (0) | 2023.08.01 |
formdata 서버에서 multer사용해서 받기 (0) | 2023.07.26 |
서버에서 쿠키받기 cookie-parser (0) | 2023.07.25 |