[flutter] 플러터 http_mock_adapter를 이용한 네트워크 요청 가상화
네트워크 요청을 테스트하기 위해서는 가상의 응답을 사용하는 것이 중요합니다. http_mock_adapter
패키지는 Flutter 애플리케이션에서 네트워크 요청을 가상화하는 데 도움을 주는 툴입니다. 이 패키지를 사용하면 가짜 응답을 생성하여 서버의 응답 없이도 테스트할 수 있습니다.
http_mock_adapter
패키지 설치
http_mock_adapter
패키지를 사용하려면 pubspec.yaml
파일에 다음의 의존성을 추가해야 합니다:
dev_dependencies:
http_mock_adapter: ^1.2.0
의존성을 추가 한 후, 패키지를 설치하십시오.
flutter pub get
네트워크 요청 가상화
http_mock_adapter
를 사용하면 기존의 HttpClient
대신에 MockHttpClient
를 사용하여 네트워크 요청을 가상화 할 수 있습니다.
import 'package:http/http.dart';
import 'package:http_mock_adapter/http_mock_adapter.dart';
void main() {
// MockHttpClient 생성
final client = MockHttpClient();
// Mock 응답 생성
final responseBody = '{"message": "Hello, World!"}';
final mockResponse = Response(responseBody, 200, headers: {'content-type': 'application/json'});
// 가상화할 요청 설정
final url = Uri.parse('https://example.com/api');
final request = Request('GET', url);
// MockHttpClient에 요청 동작 설정
client.mock.response(request).thenReturn(mockResponse);
// 요청 보내기
final response = await client.send(request);
// 응답 확인
final decodedResponse = await response.stream.bytesToString();
print(decodedResponse); // 출력: {"message": "Hello, World!"}
}
위의 예제 코드에서는 MockHttpClient
를 사용하여 가상화할 요청을 생성하고, mock.response(request)
를 사용하여 해당 요청에 대한 가짜 응답을 설정합니다. 이후 client.send(request)
를 호출하여 실제로 요청을 보낼 수 있습니다. 마지막으로 응답을 받아와 확인할 수 있습니다.
이렇게 테스트 환경에서 http_mock_adapter
를 사용하면 실제 서버 응답 없이도 네트워크 요청을 가상화하고 테스트할 수 있습니다.
참고 문서: