[typescript] 타입스크립트와 Jest를 활용하여 API 호출을 테스트하는 방법

소개

웹 애플리케이션을 개발하다 보면 API 호출을 테스트해야 하는 경우가 많습니다. 타입스크립트와 Jest를 사용하여 API 호출을 효과적으로 테스트하는 방법에 대해 알아보겠습니다.

1. Axios를 이용한 API 호출

먼저, Axios를 사용하여 API를 호출하는 코드를 작성해보겠습니다. 아래는 간단한 Axios를 사용한 GET 요청 예제입니다.

import axios from 'axios';

export const fetchData = async () => {
  try {
    const response = await axios.get('https://api.example.com/data');
    return response.data;
  } catch (error) {
    throw new Error('Failed to fetch data');
  }
};

2. Jest를 이용한 API 호출 테스트

이제 Jest를 사용하여 위에서 작성한 API 호출을 테스트해봅시다. Jest를 사용하여 비동기 코드를 테스트하는 방법에 대해 간단히 살펴보겠습니다.

import { fetchData } from './api';

test('fetchData 가 정상적으로 동작하는지 테스트', async () => {
  const data = await fetchData();
  expect(data).toEqual({ 
    // 예상되는 반환 데이터
  });
});

test('fetchData 가 에러를 올바르게 처리하는지 테스트', async () => {
  expect.assertions(1);
  
  try {
    await fetchData();
  } catch (error) {
    expect(error).toEqual(new Error('Failed to fetch data'));
  }
});

마무리

위 예제에서는 타입스크립트와 Jest를 사용하여 API 호출을 테스트하는 방법을 살펴보았습니다. 이를 통해 개발자들은 안정적으로 API 호출을 테스트하고, 코드의 신뢰성을 높일 수 있습니다.

참조: