[flutter] 플러터에서의 http_mock_adapter를 활용한 데이터 송수신 테스트

플러터(Flutter) 앱을 개발할 때, 서버와의 데이터 송수신을 테스트하는 것은 중요한 작업입니다. 하지만 실제 서버와 통신하여 테스트하는 것은 번거로울 수 있습니다. 이 때 http_mock_adapter를 활용하면, 가짜 응답을 보내는 모의 서버를 만들어 테스트할 수 있습니다.

http_mock_adapter란?

http_mock_adapter는 플러터에서 HTTP 요청과 응답을 가상으로 처리하는 Flutter 패키지입니다. 이 패키지를 사용하면 실제 서버에 의존하지 않고도 API 요청과 응답을 테스트할 수 있습니다.

사용 방법

1. 패키지 추가

먼저, pubspec.yaml 파일에 http_mock_adapter 패키지를 추가해야 합니다.

dependencies:
  http: ^0.13.0
  http_mock_adapter: ^1.0.0

2. 테스트 코드 작성

다음으로, 테스트할 요청과 응답에 대한 코드를 작성해야 합니다. MockClient를 이용하여 요청과 응답을 가상으로 처리할 수 있습니다.

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

void main() {
  test('테스트 API 호출 테스트', () async {
    // 가짜 응답 생성
    final adapter = MockAdapter();

    // 응답 데이터 설정
    final responseBody = {'message': 'Hello, World!'};

    // MockClient 생성
    final client = MockClient();

    // adapter와 client 연결
    adapter.setMockClient(client);

    // MockClient로 API 호출
    final response = await client.get(Uri.parse('https://api.example.com/test'));

    // 응답 확인
    expect(response.statusCode, 200);
    expect(response.body, jsonEncode(responseBody));

    // MockClient 사용 종료
    client.close();
  });
}

3. 테스트 실행

이제, 작성한 테스트 코드를 실행하여 데이터 송수신을 테스트할 수 있습니다. 테스트가 성공적으로 완료되면, 가짜 응답 데이터를 정상적으로 수신하는 것을 확인할 수 있습니다.

요약

플러터에서 http_mock_adapter를 활용하여 데이터 송수신을 테스트하는 방법을 알아보았습니다. http_mock_adapter를 사용하면 실제 서버에 의존하지 않고도 가짜 응답 데이터를 통해 테스트할 수 있습니다. 이를 통해 효율적인 앱 개발을 진행할 수 있습니다.

참고 자료