[typescript] 타입스크립트 단위 테스트 작성 시 테스트 커버리지 측정 방법

단위 테스트는 코드의 품질을 유지하고 버그를 최소화하는데 매우 중요합니다. 타입스크립트로 작성된 앱이나 라이브러리를 개발할 때, 단위 테스트를 작성하여 코드를 안정적으로 유지할 수 있습니다. 테스트 커버리지란 단위 테스트가 얼마나 많은 코드를 확인하는지를 나타내는 지표입니다. 여기에서는 타입스크립트로 단위 테스트를 작성하고, 테스트 커버리지를 측정하는 방법을 알아보겠습니다.

단위 테스트 작성하기

가장 먼저, 단위 테스트를 위해 테스트 프레임워크를 선택해야 합니다. 대표적인 타입스크립트 테스트 프레임워크로는 Jest와 Mocha가 있습니다. 이 두 프레임워크는 타입스크립트와의 호환성이 좋고, 다양한 기능을 제공합니다.

// 예시: Jest를 사용한 단위 테스트 코드
// sum.ts 파일
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);
});

위 코드에서는 sum 함수에 대한 단위 테스트를 Jest를 사용하여 작성한 예시입니다. 필요에 따라 Mocha나 기타 테스트 프레임워크를 선택하여 테스트 코드를 작성할 수 있습니다.

테스트 커버리지 측정하기

테스트 커버리지를 측정하려면 먼저 트랜스파일링된 JavaScript 코드에 대해 테스트를 실행하여야 합니다. Jest의 경우 타입스크립트 소스 코드를 직접 테스트할 수 있으며, 코드 커버리지를 제공합니다. 간단한 설정 후 아래의 명령어로 테스트를 실행하고 커버리지를 확인할 수 있습니다.

// Jest를 이용한 테스트 및 커버리지 측정
npx jest --coverage

이 명령어를 실행하면 테스트가 실행되고, 커버리지 보고서가 생성됩니다. 보고서에서는 어떤 부분이 테스트되었고, 어떤 부분이 테스트되지 않았는지를 확인할 수 있습니다.

마무리

단위 테스트와 테스트 커버리지는 코드의 신뢰성을 높이고 유지보수를 쉽게 할 수 있도록 도와줍니다. 타입스크립트 프로젝트에서는 Jest나 Mocha와 같은 테스트 프레임워크를 사용하여 단위 테스트를 작성하고, 커버리지를 측정하여야 합니다.

이러한 프로세스를 통해 코드의 품질을 유지하고 효과적으로 관리할 수 있습니다.

참고 자료: