[flutter] 플러터에서의 http_mock_adapter를 활용한 알림 설정 테스트
플러터에서는 http_mock_adapter
를 사용하여 테스트 중에 네트워크 요청을 가로채고 가짜 응답을 반환할 수 있습니다. 이를 활용하여 플러터 앱에서 알림 설정을 테스트해보겠습니다.
1. http_mock_adapter
패키지 추가
먼저, http_mock_adapter
패키지를 프로젝트에 추가해야 합니다. pubspec.yaml
파일에 다음과 같이 추가해주세요.
dev_dependencies:
http_mock_adapter: ^1.3.0
2. 테스트 케이스 작성
알림 설정을 테스트하기 위해 다음과 같은 테스트 케이스를 작성해보겠습니다.
import 'dart:convert';
import 'package:flutter_test/flutter_test.dart';
import 'package:http/http.dart';
import 'package:http_mock_adapter/http_mock_adapter.dart';
void main() {
group('Notification Settings', () {
late MockHttpClientAdapter mockAdapter;
setUp(() {
mockAdapter = MockHttpClientAdapter();
});
test('Should set notification settings', () async {
final expectedResponse = Response(json.encode({'success': true}), 200);
// Given
final baseUrl = 'https://example.com';
final endpoint = '/api/notification';
final requestBody = json.encode({'enable': true});
final client = HttpClient()..adapter = mockAdapter;
final request = Request('POST', Uri.parse('$baseUrl$endpoint'))
..body = requestBody;
mockAdapter.onPost('$baseUrl$endpoint').reply(200, expectedResponse);
// When
final response = await client.send(request);
final decodedResponse = json.decode(await response.stream.bytesToString());
// Then
expect(response.statusCode, 200);
expect(decodedResponse['success'], true);
});
});
}
위의 코드는 http_mock_adapter
를 사용하여 네트워크 요청을 테스트하는 예시입니다. 테스트 메소드는 test
함수를 사용하며, 체이닝된 expect
함수를 사용하여 검증합니다.
3. 테스트 결과 확인
테스트를 실행하기 위해 다음 명령어를 사용합니다.
flutter test
테스트가 성공하면 flutter_test
패키지에서 제공하는 로그가 출력되며, 테스트가 실패하면 해당 위치에서 오류 메시지가 표시됩니다.
플러터에서 http_mock_adapter
를 사용하여 알림 설정 테스트를 진행하는 방법을 알아보았습니다. 이를 통해 네트워크 요청에 대한 응답을 가로채고 가짜 응답을 반환하여 효과적인 테스트를 진행할 수 있습니다.