[typescript] 타입스크립트와 Jest를 활용하여 비즈니스 로직을 단위 테스트하는 방법

소프트웨어 개발에서 테스트 주도 개발(Test-Driven Development, TDD)은 안정적이고 견고한 코드를 작성하는 데 도움을 줍니다. 타입스크립트로 작성된 코드에 대해 Jest를 사용하여 비즈니스 로직을 효과적으로 단위 테스트하는 방법을 살펴보겠습니다.

1. Jest 설치하기

먼저 프로젝트에 Jest를 설치합니다. package.json 파일이 있는 프로젝트 디렉토리에서 다음 명령을 실행합니다.

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

2. TypeScript 설정

프로젝트에 TypeScript를 사용하도록 설정합니다.

npm install --save-dev typescript
npx tsc --init

3. ts-jest 설정

ts-jest를 사용하면 TypeScript로 작성된 코드를 Jest에서 실행할 수 있습니다.

tsconfig.json 파일을 열고 다음과 같이 compilerOptions를 추가합니다.

{
  "compilerOptions": {
    "module": "commonjs",
    "target": "es2015",
    "esModuleInterop": true
  }
}

jest.config.js 파일을 프로젝트 루트 디렉토리에 만들고 다음 내용을 추가합니다.

module.exports = {
  preset: 'ts-jest',
  testEnvironment: 'node',
};

4. 테스트 작성

이제 비즈니스 로직에 대한 단위 테스트를 작성할 준비가 되었습니다. 비즈니스 로직이 담긴 TypeScript 파일(sample.ts)과 그에 대응하는 Jest 테스트 파일(sample.test.ts)을 만듭니다.

// sample.ts
export function add(a: number, b: number): number {
  return a + b;
}
// sample.test.ts
import { add } from './sample';

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

5. 테스트 실행

모든 준비가 끝났습니다. 이제 Jest를 사용하여 테스트를 실행할 수 있습니다.

npx jest

결론

이제 타입스크립트와 Jest를 사용하여 비즈니스 로직을 단위 테스트하는 방법을 알게 되었습니다. 테스트 주도 개발은 코드 품질을 향상시키고 유지보수를 쉽게 만들어줄 뿐만 아니라 개발자들 간의 신뢰를 증진시켜줍니다. 함께 사용하면 더욱 효과적인 결과를 얻을 수 있습니다.

참고 문헌: