⚽️ 목표
svelte-kit으로 프로젝트 시작 시 자동으로 추천되는 Vitest의 장점이 뭔지 알아보자
Vitest
•
비교적 새로운 Vite native 유닛 테스팅 프레임워크
•
현재 Svelte는 특정 유닛 테스팅 프레임워크를 공개적으로 지지 하지 않음 → 2023년 2월 현재 svelte-kit으로 프로젝트 시작 시 추천해주는 유닛 테스팅 프레임 워크
필요성
•
많은 유닛 테스트 프레임워크가 CommonJS 모듈 방식으로 작성됨 → vite로 작성한 코드가 CommonJS 방식으로 변환될때 문제발생의 가능성이 존재
Jest가 있는데 왜?
•
Jest와 Vite 사이에 중복된 코드가 너무 많음, 이미 vite 프로젝트를 사용하면서 설정됐던 부분들을 또 다시 Jest 사용을 위해 다시 설정해줘야함
•
개발을 위한 설정과 테스팅을 위한 설정이 전혀 다르게 나뉨 → 그 잘난 속도 빠르고 편한 vite를 사용하지만 Jest 사용 시 babel을 사용해야할 수 도 있음
◦
Jest를 사용하므로 babel과 jest.config.json 설정이 필수
◦
안돌아가는걸 babel을 사용해 돌아가게 만드는 느낌적인 느낌
•
Vitest를 사용하면 프로젝트 기본 vite.config.js로 편하게 설정 가능
Svelte Testing Library
•
Vitest에 얹혀서 사용하는 컴포넌트 테스팅 라이브러리
•
위와 같은 이유로 Jest에 얹혀서도 사용 가능하나 복잡한 설정 필요 → ESM을 사용하는 Vite의 장점 활용 못하고 Jest를 돌리기 위해 다시 babel올리고…