Kotlin + SpringBoot + Junit5
구성의 기존 프로젝트를 Express + Typescript
로 마이그레이션 하는 과정에서 최대한 빠르게 진행하기 위해 테스트 코드 작성을 하지 않았다. 최근 프로젝트에 DDD
를 적용하는 과정에서 테스트 코드의 필요성을 느껴 Jest
를 통해 Node
진영의 테스트 프레임워크와 방법에 대해 공부한 내용을 정리한 포스트이다
$ npm install -D jest @types/jest ts-jest
포스트를 작성하는 현재
jest
와ts-jest
의 최신 버전이 맞지 않아 오류 발생했다.ts-jest
와jest
의 버전을 맞추어 설치하여 문제를 해결할 수 있다$ npm install -D jest@28.1.2 ts-jest
공식 문서에 따르면
@types/jest
와jest
의 버전을 맞추는 것을 권장하고 있으므로 버전이 다르다면 맞춰주도록 하자
프로젝트 루트에 jest.config.js
파일을 직접 생성하여 설정 파일을 작성하거나
$ npx jest --init
명령어를 통해 설정 파일을 생성할 수 있다
필자는 생성 파일을 직접 만들었다
module.exports = {
preset: "ts-jest",
testEnvironment: "node",
testMatch: ["**/*.spec.[jt]s?(x)", "**/*.test.[jt]s?(x)"], // 테스트 파일 위치 및 형식
};
의존성 설치와 설정이 끝났으면 잘 작동하는지 간단한 테스트를 진행해보자.
$ npx jest
위의 명령어를 통해 프로젝트 내에 존재하는 모든 테스트를 한번에 실행시킬 수 있다. 또는
$ npx jest [pattern | path]
특정 디렉토리 내, 특정 패턴을 가진 테스트의 테스트만 진행하는 것도 가능하다
$ npx -t [test suit pattern]
-t
옵션을 주면 파일 내의 테스트 수트(describe, test, it)와 일치하는 특정 테스트 수트를 실행할 수 있다. 또 VSCode의 jest
, jest runner
플러그인을 통해 명령어 대신 클릭 한번으로 손쉽게 테스트를 실행할 수 있다
참조