[flutter] 플러터 build_runner를 사용하여 인터랙션 시뮬레이션 설정하기

플러터 앱을 개발하다 보면 때로는 실제 사용자 상호작용에 대한 시뮬레이션을 설정해야 할 때가 있습니다. build_runner 패키지를 사용하면, 다양한 인터랙션 시나리오를 설정하고, 이를 테스트할 수 있습니다.

build_runner 패키지 설치하기

먼저, build_runner 패키지를 프로젝트에 추가해야 합니다. pubspec.yaml 파일에 다음과 같이 패키지를 추가합니다:

dev_dependencies:
  build_runner: ^2.1.3

패키지를 추가한 후에는, 터미널에서 flutter pub get 명령어를 실행하여 패키지를 다운로드 받아야 합니다.

인터랙션 모의 데이터 생성하기

build_runner를 활용하여 인터랙션을 모의하는 가장 일반적인 방법은 mockito 패키지를 사용하는 것입니다.

간단한 예제로, 위젯이 눌렸을 때 특정 기능을 실행하도록하는 시나리오를 작성해봅시다. 먼저, mockito 패키지를 추가합니다:

dev_dependencies:
  mockito: ^5.0.3

그런 다음, 다음과 같이 모의 데이터를 생성하여 테스트할 수 있습니다:

import 'package:mockito/mockito.dart';

class MockFunction extends Mock {
  void call();
}

void main() {
  test('widget should call function when pressed', () {
    final mockFunction = MockFunction();
    final widget = MyWidget(onPressed: mockFunction.call);

    widget.onPressed();

    verify(mockFunction.call()).called(1);
  });
}

위 예제에서는 mockito를 사용하여 onPressed 메서드가 호출되었을 때 mockFunction이 정확히 한 번 호출되었는지를 테스트하고 있습니다.

결론

build_runner를 사용하여 인터랙션 시뮬레이션을 설정하는 것은 테스트 주도 개발 및 UI 개발을 보다 원만하게 진행할 수 있도록 도와줍니다. 이를 통해 앱의 사용자 상호작용 부분을 효과적으로 테스트하고 디버깅할 수 있습니다.

해당 내용에 대한 자세한 내용은 아래 공식 문서를 참고하시기 바랍니다.