[typescript] 자동화된 테스트 실행하기

프로그래밍 작업을 하다 보면 코드 변경이나 새로운 기능 추가 시 기존 기능들이 올바르게 작동하는지 확인하는 것이 중요합니다. 이를 위해 자동화된 테스트를 실행하여 효율적으로 코드를 검증할 수 있습니다. TypeScript 프로젝트에서 자동화된 테스트를 실행하는 방법에 대해 알아보겠습니다.

Jest를 사용한 테스트 환경 설정

Node.js를 기반으로 하는 TypeScript 프로젝트에서는 Jest를 테스트 프레임워크로 사용하는 것이 일반적입니다. Jest를 사용하려면 프로젝트에 jest 패키지를 추가하고, ts-jest 패키지를 사용하여 TypeScript 코드를 테스트할 수 있습니다.

npm install --save-dev jest @types/jest ts-jest

package.json 파일에 다음과 같이 Jest 설정을 추가합니다.

"jest": {
  "preset": "ts-jest",
  "testEnvironment": "node",
  "moduleFileExtensions": [
    "ts",
    "js"
  ],
  "transform": {
    "^.+\\.(ts|tsx)$": "ts-jest"
  },
  "testRegex": "(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$"
}

테스트 작성 및 실행

sum.ts 파일에 다음과 같은 TypeScript 함수가 있다고 가정해봅시다.

export function sum(a: number, b: number): number {
  return a + b;
}

sum.test.ts 파일에 해당 함수를 테스트하는 코드를 작성합니다.

import { sum } from './sum';

test('adds 1 + 2 to equal 3', () => {
  expect(sum(1, 2)).toBe(3);
});

이제 터미널에서 npm test 명령어를 실행하여 Jest를 통해 테스트를 수행할 수 있습니다.

CI/CD 파이프라인에 테스트 추가

마지막으로, 코드가 푸시되거나 병합될 때 자동으로 테스트를 실행하도록 CI/CD 파이프라인에 테스트 단계를 추가하는 것이 좋습니다. 대표적인 CI/CD 서비스인 GitHub Actions, CircleCI, GitLab CI 등을 활용하여 이러한 자동화된 테스트 실행을 구축할 수 있습니다.

자동화된 테스트 실행은 코드 변경으로 인한 예기치 못한 오류를 방지하고 안정적인 소프트웨어를 유지하는 데 큰 도움이 됩니다.

이상으로 Jest를 사용한 TypeScript 프로젝트의 자동화된 테스트 실행 방법에 대해 알아보았습니다.