플러터는 앱 개발을 위한 매우 강력한 프레임워크입니다. 앱에서 서버와의 통신이 필요한 경우가 많은데, 이때 서버가 아직 구현되지 않은 상황에서 데이터를 복원하기 위해서는 테스트용으로 가짜 응답을 만들어주는 것이 필요합니다. 이때 http_mock_adapter
패키지를 사용하면 테스트에 유용한 가짜 응답을 만들고 테스트할 수 있습니다.
http_mock_adapter란?
http_mock_adapter
는 Dart 언어용으로 만들어진 패키지로, http
패키지를 사용하여 앱에서 서버와의 통신을 할 때 가짜 응답을 제공해주는 모의 객체(Mock Object) 기능을 제공합니다. 이를 통해 서버가 아직 개발되지 않은 상황에서도 앱을 테스트할 수 있습니다.
설치하기
먼저, http_mock_adapter
패키지를 프로젝트에 추가해야 합니다. pubspec.yaml
파일에 다음과 같이 패키지를 추가해주세요.
dependencies:
flutter:
sdk: flutter
http: ^0.13.3
http_mock_adapter: ^2.0.0
그 다음, 터미널에서 다음 명령을 실행하여 패키지를 설치합니다.
flutter pub get
가짜 응답 만들기
가짜 응답을 만들기 위해서는 MockAdapter
를 사용해야 합니다. 아래는 예시 코드입니다.
import 'package:http_mock_adapter/http_mock_adapter.dart';
import 'package:http/http.dart' as http;
void main() {
final mockAdapter = MockAdapter();
final client = http.Client();
mockAdapter.onGet('/api/users').reply(200, {
'id': 1,
'name': 'John Doe',
'email': 'johndoe@example.com',
});
client.httpClientAdapter = mockAdapter;
// 가짜 응답을 사용하여 테스트할 코드 작성
}
위 코드에서는 mockAdapter
를 생성한 후, onGet()
메서드를 사용하여 /api/users
경로에 대한 GET 요청에 대한 가짜 응답을 설정하였습니다. 응답은 200 상태 코드와 함께 JSON 형태의 데이터를 포함하고 있습니다.
테스트 코드 작성하기
이제 가짜 응답을 사용하여 테스트 코드를 작성할 수 있습니다. 아래는 예시 코드입니다.
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('테스트', () async {
final mockAdapter = MockAdapter();
final client = http.Client();
mockAdapter.onGet('/api/users').reply(200, {
'id': 1,
'name': 'John Doe',
'email': 'johndoe@example.com',
});
client.httpClientAdapter = mockAdapter;
// 가짜 응답을 사용하여 테스트할 코드 작성
});
}
테스트 코드에서는 flutter_test
패키지의 test()
함수를 사용하여 테스트를 정의합니다. 테스트 코드에서도 가짜 응답을 사용하여 서버와의 통신을 시뮬레이션하고, 테스트할 코드를 작성할 수 있습니다.
마무리
플러터에서 http_mock_adapter
를 사용하여 데이터를 복원하는 테스트를 작성하는 방법을 알아보았습니다. 이를 통해 서버가 아직 개발되지 않은 상황에서도 앱을 테스트할 수 있게 되었습니다. http_mock_adapter
를 활용하여 앱 개발의 효율성을 높여보세요.