[flutter] 플러터에서의 http_mock_adapter를 이용한 축소판 테스트

안녕하세요! 이번에는 Flutter에서 http_mock_adapter를 사용하여 축소판 테스트를 수행하는 방법에 대해 알아보겠습니다. http_mock_adapter는 Flutter 애플리케이션에서 네트워크 요청을 가로채고 가짜 응답을 제공하는 도구입니다. 이를 통해 서버 응답을 모킹하여 앱의 특정 시나리오를 테스트할 수 있습니다.

1. http_mock_adapter 추가하기

먼저, http_mock_adapter를 프로젝트에 추가해야 합니다. pubspec.yaml 파일에서 dev_dependencies 섹션에 다음과 같이 http_mock_adapter를 추가해주세요:

dev_dependencies:
  http: ^0.13.3
  http_mock_adapter: ^1.0.0

변경 사항을 적용하기 위해 터미널에서 flutter pub get 명령어를 실행하세요.

2. http_mock_adapter 초기화하기

http_mock_adapter를 사용하기 위해 테스트 파일에서 다음과 같이 초기화해야 합니다:

import 'package:http_mock_adapter/http_mock_adapter.dart';

void main() {
  final mockAdapter = MockAdapter();
  
  // 테스트에 필요한 가짜 응답 설정
  ...

  // 테스트 코드 작성
  ...
}

3. 가짜 응답 설정하기

테스트에 필요한 가짜 응답을 설정해야 합니다. 예를 들어, GET 요청에 대한 가짜 응답을 설정하는 방법은 다음과 같습니다:

mockAdapter.onGet(url).reply(200, {'key': 'value'});

위의 코드에서 url은 가짜 응답을 설정할 URL이고, 200은 응답의 상태 코드이고, {'key': 'value'}는 응답의 데이터입니다. 필요에 따라 상태 코드와 데이터를 수정하여 다양한 시나리오를 테스트할 수 있습니다.

4. 테스트 코드 작성하기

이제 가짜 응답을 설정했으므로, 테스트 코드를 작성할 수 있습니다. 예를 들어, 특정 API를 호출하고 응답을 확인하는 테스트 코드는 다음과 같습니다:

test('API 호출 - 성공', () async {
  final response = await http.get(url);
  
  expect(response.statusCode, 200);
  expect(response.body, {'key': 'value'});
});

위의 코드에서 http.get(url)은 실제 API를 호출하는 부분이며, expect()를 사용하여 응답의 상태 코드와 데이터를 검증합니다.

5. 테스트 실행하기

테스트를 실행하려면 터미널에서 flutter test 명령어를 실행하세요. 이 명령어를 실행하면 가짜 응답을 반환하도록 설정한 API 호출에 대해 테스트가 수행됩니다. 응답이 올바른지 확인하기 위해 expect() 함수를 사용하여 검증합니다.

위의 단계를 따라가면 Flutter 앱에서 http_mock_adapter를 사용하여 가짜 응답을 설정하고, 다양한 시나리오를 테스트할 수 있습니다. 이를 통해 앱의 네트워크 통신을 모킹하고, 응답에 대한 다양한 상황을 시뮬레이션할 수 있습니다.

더 많은 정보를 원하시면 http_mock_adapter 패키지의 공식 문서를 참조해주세요.