[typescript] 타입스크립트 단위 테스트 작성 시 비동기 코드 테스트 방법

타입스크립트로 개발된 프로젝트에서 단위 테스트를 작성할 때, 비동기 코드의 테스트는 매우 중요합니다. 이 포스트에서는 타입스크립트에서 비동기 코드를 어떻게 테스트할지에 대해 알아보겠습니다.

Jest 설치

가장 먼저 Jest를 프로젝트에 설치해야 합니다. Jest는 테스트 프레임워크로, 타입스크립트 프로젝트에서 널리 사용됩니다. 프로젝트 루트 디렉터리에서 아래 명령어를 실행하여 Jest를 설치합니다.

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

비동기 코드 테스트

비동기 코드를 테스트하려면 Jest에서 제공하는 비동기 코드를 다루는 방법을 알아야 합니다. 주로 사용되는 코드 패턴은 아래와 같습니다.

test('비동기 함수 테스트', async () => {
  const result = await asyncFunction();
  expect(result).toBe(expectedValue);
});

위 예시에서 async 키워드를 통해 테스트 함수가 비동기 함수임을 나타내고, await를 사용하여 비동기 함수의 반환값을 받아옵니다. 그리고 expect 함수를 사용하여 반환값이 기대한 값과 일치하는지 테스트합니다.

시간 초과 설정

비동기 코드를 테스트할 때는 실행 시간이 길어질 수 있기 때문에, Jest에서의 기본 time-out 설정(기본값은 5초)이 부족할 수 있습니다. 시간 초과에 대비하여 Jest 설정 파일(jest.config.js)에서 testTimeout 속성을 추가하여 시간을 늘려줄 수 있습니다.

module.exports = {
  testTimeout: 10000, // 10초로 시간 초과 설정
};

결론

이렇게 Jest를 사용하여 타입스크립트 프로젝트에서 비동기 코드를 테스트하는 방법을 알아보았습니다. Jest는 강력한 기능을 제공하며, 비동기 코드 테스트에 특히 용이합니다. 적절한 테스트 코드를 작성하여 안정적이고 견고한 코드를 개발하는 데 도움이 될 것입니다.

참고 문헌: