[flutter] 플러터에서 http_mock_adapter를 이용한 알림 설정 테스트
이번 글에서는 Flutter 앱에서 HTTP 요청을 모의(Mock)하는 라이브러리인 http_mock_adapter
를 사용하여 알림 설정 기능을 테스트해보도록 하겠습니다.
1. http_mock_adapter 소개
http_mock_adapter
는 Flutter 앱에서 HTTP 통신을 모의하는 데 사용되는 패키지입니다. 이를 통해 실제 서버에 API 요청을 보내지 않고도 가상의 응답을 설정하여 테스트를 수행할 수 있습니다.
2. 알림 설정 API 테스트
알림 설정 기능을 테스트하기 위해 아래와 같은 API 요청을 가정해봅시다.
import 'package:http/http.dart' as http;
Future<void> updateNotificationSettings(bool enableNotifications) async {
final url = 'https://example.com/api/settings';
final body = {'enableNotifications': enableNotifications};
final response = await http.put(Uri.parse(url), body: body);
if (response.statusCode == 200) {
print('알림 설정이 업데이트되었습니다.');
} else {
print('알림 설정 업데이트에 실패했습니다.');
}
}
위의 코드에서 http.put
메서드를 사용하여 알림 설정을 업데이트합니다. 이를 모의하기 위해 http_mock_adapter
를 사용하여 가상의 응답을 설정해보겠습니다.
import 'package:http/http.dart' as http;
import 'package:http_mock_adapter/http_mock_adapter.dart';
void main() {
final mockAdapter = MockAdapter();
test('알림 설정 업데이트 테스트', () async {
final url = 'https://example.com/api/settings';
final body = {'enableNotifications': true};
mockAdapter.onPut(url).reply(200, 'Settings updated');
await updateNotificationSettings(true);
expect(mockAdapter.dispatchedRequests.length, 1);
expect(mockAdapter.dispatchedRequests.first.method, 'PUT');
expect(mockAdapter.dispatchedRequests.first.url.toString(), url);
expect(mockAdapter.dispatchedRequests.first.bodyFields, body);
});
}
위의 코드에서 mockAdapter.onPut
메서드를 사용하여 PUT 요청에 대한 응답을 설정합니다. 이때 reply
메서드를 사용하여 응답의 상태 코드와 응답 body를 설정할 수 있습니다.
테스트를 실행하여 updateNotificationSettings
메서드가 가상의 응답을 받는지 확인할 수 있습니다. 이를 통해 알림 설정의 올바른 동작 여부를 테스트할 수 있습니다.
결론
http_mock_adapter
를 사용하면 Flutter 앱의 HTTP 요청을 모의하여 테스트할 수 있습니다. 알림 설정과 같은 기능을 테스트하는 데 유용한 도구입니다. 이를 통해 앱의 안정성을 개선하고 버그를 찾는 데 도움이 됩니다.
더 자세한 내용은 http_mock_adapter 패키지 문서를 참조하세요.