[flutter] 플러터 애플리케이션에서의 http_mock_adapter 사용 사례 소개

이번 포스트에서는 Flutter 애플리케이션에서 API 요청을 테스트하기 위해 http_mock_adapter를 사용하는 방법을 살펴보겠습니다.

목차

소개

http_mock_adapter는 Flutter 애플리케이션에서 API 호출을 가로채고 가짜 응답을 제공하는 데 사용되는 도구입니다. 이를 통해 애플리케이션을 테스트할 때 실제 API 서버에 연결할 필요 없이 독립적으로 작성 및 실행할 수 있습니다. 이를 통해 애플리케이션의 콘텐츠를 가짜 데이터로 채워 테스트를 수행하거나 애플리케이션의 다양한 상황을 시뮬레이션할 수 있습니다.

설치

먼저, http_mock_adapter를 프로젝트에 추가해야 합니다. pubspec.yaml 파일에 다음 의존성을 추가합니다:

dev_dependencies: 
  http_mock_adapter: ^0.5.0

의존성을 추가한 후, 프로젝트를 업데이트하려면 다음 명령을 실행합니다:

flutter pub get

사용 방법

http_mock_adapter의 기본 사용 방법은 다음과 같습니다:

  1. setupMockHttpClient()를 호출하여 MockHttpClient 인스턴스를 생성합니다.
  2. MockHttpClient를 통해 API 호출을 가로챕니다.
  3. 가짜 응답 생성을 위해 MockHttpClient의 onGet, onPost, onPut 등의 메서드를 사용합니다.
  4. 애플리케이션의 HttpClient 인스턴스를 MockHttpClient로 대체합니다.
  5. 애플리케이션을 테스트하고, 가짜 응답을 확인합니다.

예제 코드

다음은 http_mock_adapter를 사용하는 예제 코드입니다:

import 'package:http/http.dart' as http;
import 'package:http_mock_adapter/http_mock_adapter.dart';

void main() {
  final mockHttpClient = MockHttpClient();
  
  // 가짜 응답 생성
  mockHttpClient.onGet('/api/data')
    .reply(200, {'message': 'Hello, World!'});
    
  // 애플리케이션의 HttpClient 인스턴스를 MockHttpClient로 대체
  http.Client = mockHttpClient;
  
  // API 호출
  http.get(Uri.parse('https://example.com/api/data'))
    .then((response) {
      print(response.statusCode);
      print(response.body);
    });
}

위의 코드에서 mockHttpClient.onGet('/api/data')/api/data 엔드포인트에 대한 GET 요청을 가로채고 가짜 응답을 생성합니다. 이후 애플리케이션은 http.get을 호출하여 API를 호출하고 가짜 응답을 받게 됩니다.

참고 자료