Communitygithub.com

flutter/flutter-add-integration-test

Flutter Driver를 설정하여 앱과 상호작용하고, MCP 액션을 영구적인 통합 테스트로 변환합니다. 프로젝트에 통합 테스트를 추가하거나, MCP를 통해 UI 컴포넌트를 탐색하거나, integration_test 패키지로 사용자 흐름을 자동화할 때 사용하세요.

flutter-add-integration-test란 무엇인가요?

이 스킬은 Flutter 프로젝트에 통합 테스트를 추가하는 과정을 간소화합니다. Flutter Driver를 설정하여 앱과 상호작용하고, MCP(Model Context Protocol) 액션을 기반으로 영구적인 통합 테스트를 생성합니다. 개발자는 이를 통해 UI 컴포넌트를 탐색하고, 사용자 흐름을 자동화하며, 애플리케이션의 안정성을 확보할 수 있습니다. 주로 Flutter 프로젝트에서 integration_test 패키지를 활용하며, Cursor, Claude Code, Codex 등 다양한 AI 에이전트 플랫폼에서 사용할 수 있도록 설계되었습니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/flutter/skills/tree/main/skills/flutter-add-integration-test

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

flutter-add-integration-test은(는) 무엇을 하나요?

Flutter Driver를 설정하여 앱과 상호작용하고, MCP 액션을 영구적인 통합 테스트로 변환합니다. 프로젝트에 통합 테스트를 추가하거나, MCP를 통해 UI 컴포넌트를 탐색하거나, integration_test 패키지로 사용자 흐름을 자동화할 때 사용하세요.

사용 방법

이 스킬을 활성화하려면, AI 에이전트에게 다음과 같이 요청하세요:

  • "이 Flutter 프로젝트에 통합 테스트를 추가해줘."
  • "MCP를 통해 UI를 탐색하고, 이를 기반으로 통합 테스트를 생성해줘."
  • "로그인 흐름에 대한 통합 테스트를 만들어줘."

작동 방식

  1. Flutter Driver 설정: flutter_driver 패키지를 pubspec.yaml에 추가하고, 테스트 환경을 구성합니다.
  2. MCP 액션 캡처: MCP를 통해 수행된 UI 상호작용을 기록합니다.
  3. 통합 테스트 생성: 기록된 액션을 integration_test 패키지를 사용하는 영구적인 Dart 테스트 파일로 변환합니다.
  4. 테스트 실행: 생성된 통합 테스트를 실행하여 앱의 동작을 검증합니다.

요구 사항

  • Flutter 프로젝트 (버전 2.0 이상 권장)
  • integration_test 패키지
  • MCP 지원 에이전트 (예: Claude Code, Cursor, Codex)

예제

// 통합 테스트 예제
import 'package:flutter_test/flutter_test.dart';
import 'package:integration_test/integration_test.dart';

void main() {
  IntegrationTestWidgetsFlutterBinding.ensureInitialized();

  testWidgets('로그인 흐름 테스트', (tester) async {
    // 앱 실행
    await tester.pumpWidget(MyApp());

    // 사용자 이름 입력
    await tester.enterText(find.byKey(Key('username')), 'testuser');
    
    // 비밀번호 입력
    await tester.enterText(find.byKey(Key('password')), 'password123');
    
    // 로그인 버튼 탭
    await tester.tap(find.byKey(Key('loginButton')));
    
    // 홈 화면이 표시되는지 확인
    expect(find.text('환영합니다'), findsOneWidget);
  });
}

관련 리소스

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

flutter/flutter-accessibility

Configure your Flutter app to support assistive technologies like Screen Readers

flutter/flutter-accessibility-audit

Triggers an accessibility scan through the widget_inspector and automatically adds Semantics widgets or missing labels to the source code.

flutter/flutter-adding-home-screen-widgets

Adds home screen widgets to a Flutter app for Android and iOS. Use when providing glanceable app information or quick actions on the device home screen.

flutter/flutter-add-widget-preview

Adds interactive widget previews to the project using the previews.dart system. Use when creating new UI components or updating existing screens to ensure consistent design and interactive testing.

flutter/flutter-add-widget-test

Implement a component-level test using `WidgetTester` to verify UI rendering and user interactions (tapping, scrolling, entering text). Use when validating that a specific widget displays correct data and responds to events as expected.

flutter/flutter-animating-apps

Implements animated effects, transitions, and motion in a Flutter app. Use when adding visual feedback, shared element transitions, or physics-based animations.

flutter/flutter-animation

Add animated effects to your Flutter app

flutter/flutter-apply-architecture-best-practices

Architects a Flutter application using the recommended layered approach (UI, Logic, Data). Use when structuring a new project or refactoring for scalability.

flutter/flutter-app-size

Measure and reduce the size of the Flutter app bundle, APK, or IPA

flutter/flutter-architecting-apps

Architects a Flutter application using the recommended layered approach (UI, Logic, Data). Use when structuring a new project or refactoring for scalability.

flutter/flutter-architecture

Use the Flutter team's recommended app architecture

flutter/flutter-building-forms

Builds Flutter forms with validation and user input handling. Use when creating login screens, data entry forms, or any multi-field user input.

flutter/flutter-building-layouts

Builds Flutter layouts using the constraint system and layout widgets. Use when creating or refining the UI structure of a Flutter application.

flutter/flutter-building-plugins

Builds Flutter plugins that provide native interop for other apps to use. Use when creating reusable packages that bridge Flutter with platform-specific functionality.

flutter/flutter-build-responsive-layout

Use `LayoutBuilder`, `MediaQuery`, or `Expanded/Flexible` to create a layout that adapts to different screen sizes. Use when you need the UI to look good on both mobile and tablet/desktop form factors.

flutter/flutter-caching

Cache data in a Flutter app

flutter/flutter-caching-data

Implements caching strategies for Flutter apps to improve performance and offline support. Use when retaining app data locally to reduce network requests or speed up startup.

flutter/flutter-concurrency

Execute long-running tasks in a background thread in Flutter

flutter/flutter-databases

Work with databases in a Flutter app

flutter/flutter-embedding-native-views

Embeds native Android, iOS, or macOS views into a Flutter app. Use when integrating complex native components like maps or web views.

관련 스킬