정말 정보가 없었다. 다행히 medium 사이트에서 좋은 자료가 있어서 구글링을 엄청나게 병행하여 잘 진행했다.
jest에서 vitest로 옮길 때 참고할 수 있는 자료가 되었음한다.
node_modules 충돌 때문에 node랑 npm 전역 초기화 후 재설치 진행하고, pnpm 설치와 vite설치, vitest 설치까지.. 너무 힘든 여정이었다...
ChatGPT도 모르는 최신 기술 Vitest 세팅을 해보자.
소스 파일 변환의 복잡성을 처리할 필요가 없고 테스트 중에 최상의 DX를 제공하는 데에만 집중할 수 있는 간단한 실행기
vite.config.js
를 같이 사용한다.)보아서 알겠지만 진행하면서 Vite 설치는 필수다
공식 홈페이지만 참고해서는 안되고, node, npm, pnpm, vite 환경도 잘 세팅해놓고 시행하는 걸 권장한다.
우선 중요한 것.
v18.12.1
이상. (나는 v18.17.0
LTS로 진행했다.)v7.15.0*
이상, (나는 8.6.10
으로 진행했다.)/Users/nami/Desktop/vitest/
폴더에
pnpm create vite;
Expected Prompts:
✔ Project name: vite-project(원하는 프로젝트 이름 지정해주면 됨)
✔ Select a framework: › React
✔ Select a variant: › JavaScript (TypeScript를 배우지 않아서 JS로 설정함)
알려주는대로 진행하면 된다!
cd vite-project
pnpm install
pnpm run dev
localhost:5173
에 이렇게 잘 뜬다면 완료!
드디어 프로젝트 파일 내에 Vitest 설치를 시작한다
pnpm add -D vitest;
이후 ./vite.config.js
파일을 업데이트 해야한다.
# BEFORE 수정 전
# import { defineConfig } from 'vite'
# AFTER 수정 후
import { defineConfig } from 'vitest/config'
import react from '@vitejs/plugin-react'
#// https://vitejs.dev/config/
export default defineConfig({
plugins: [react()],
})
test 파일을 저장할 __tests__
폴더를 생성하고, App.test.jsx
파일을 만든다.
pnpm test;
테스트 실행시 오류가 날 것이다. 아래 명령을 실행해준다.
pnpm add -D jsdom;
jsdom을 add한 이후 ./vite.config.js
파일을 업데이트 해준다.
import { defineConfig } from 'vitest/config'
import react from '@vitejs/plugin-react'
// https://vitejs.dev/config/
export default defineConfig({
plugins: [react()],
test: {
environment: 'jsdom'
}
})
pnpm test;
이후 해보면 pass 된다!
참고
test script가 없다고 뜨는 경우 package.json
에 해당 코드를 추가한다. (계속 오류가 났는데 해결했다.)
{
"scripts": {
"test": "vitest",
"coverage": "vitest run --coverage"
}
}
Jest에서 사용한 js 코드를 그대로 사용했다
다음엔 js 예제를 적용해보겠다..!