[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
의 기본 사용 방법은 다음과 같습니다:
setupMockHttpClient()
를 호출하여 MockHttpClient 인스턴스를 생성합니다.- MockHttpClient를 통해 API 호출을 가로챕니다.
- 가짜 응답 생성을 위해 MockHttpClient의
onGet
,onPost
,onPut
등의 메서드를 사용합니다. - 애플리케이션의
HttpClient
인스턴스를 MockHttpClient로 대체합니다. - 애플리케이션을 테스트하고, 가짜 응답을 확인합니다.
예제 코드
다음은 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를 호출하고 가짜 응답을 받게 됩니다.