[Node] Express + Typescript에서 Jest로 테스트하기 - 설정

tkppp·2022년 9월 1일
2

Jest

목록 보기
1/5
post-custom-banner

Kotlin + SpringBoot + Junit5 구성의 기존 프로젝트를 Express + Typescript 로 마이그레이션 하는 과정에서 최대한 빠르게 진행하기 위해 테스트 코드 작성을 하지 않았다. 최근 프로젝트에 DDD 를 적용하는 과정에서 테스트 코드의 필요성을 느껴 Jest 를 통해 Node 진영의 테스트 프레임워크와 방법에 대해 공부한 내용을 정리한 포스트이다

의존성 설치

$ npm install -D jest @types/jest ts-jest

포스트를 작성하는 현재 jestts-jest의 최신 버전이 맞지 않아 오류 발생했다. ts-jestjest의 버전을 맞추어 설치하여 문제를 해결할 수 있다

$ npm install -D jest@28.1.2 ts-jest

공식 문서에 따르면 @types/jestjest 의 버전을 맞추는 것을 권장하고 있으므로 버전이 다르다면 맞춰주도록 하자

설정 파일

프로젝트 루트에 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 플러그인을 통해 명령어 대신 클릭 한번으로 손쉽게 테스트를 실행할 수 있다

참조

jest로 typescript 테스트하기, (1)기본설정하기

post-custom-banner

0개의 댓글