CommunityCodierung & Entwicklunggithub.com

flutter/flutter-testing-apps

Implementiert Unit-, Widget- und Integrationstests für eine Flutter-App. Verwenden Sie es, um Codequalität sicherzustellen und Regressionen durch automatisierte Tests zu verhindern.

Was ist flutter-testing-apps?

Diese Skill ermöglicht die Implementierung von Unit-, Widget- und Integrationstests für Flutter-Anwendungen, um die Codequalität zu sichern und Regressionen zu vermeiden. Sie ist nützlich für Entwickler, die automatisierte Tests in ihren Flutter-Projekten einrichten oder erweitern möchten. Der Skill unterstützt die gängigen Flutter-Test-Frameworks und -Plattformen, einschließlich der Integration in CI/CD-Pipelines. Durch die strukturierte Anleitung zur Erstellung von Tests für verschiedene Ebenen der Anwendung (vom einzelnen Widget bis zur gesamten App-Navigation) hilft der Skill, eine umfassende Testabdeckung zu erreichen und die Wartbarkeit des Codes zu verbessern.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/flutter/skills/tree/main/skills/flutter-testing-apps

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht flutter-testing-apps?

Implementiert Unit-, Widget- und Integrationstests für eine Flutter-App. Verwenden Sie es, um Codequalität sicherzustellen und Regressionen durch automatisierte Tests zu verhindern.

Überblick

Dieses Skill-Paket bietet eine vollständige Anleitung zum Schreiben und Ausführen verschiedener Testarten in Flutter-Apps. Es deckt Unit-Tests, Widget-Tests und Integrationstests ab, die alle wesentlich sind, um die Stabilität und Zuverlässigkeit der Anwendung zu gewährleisten.

Funktionen

  • Unit-Tests: Testen einzelne Funktionen, Methoden oder Klassen isoliert.
  • Widget-Tests: Testen einzelne Widgets und ihr Verhalten.
  • Integrationstests: Testen die gesamte App oder große Teile davon, einschließlich Navigation und Interaktionen.

Voraussetzungen

Stellen Sie sicher, dass Sie die neueste Version von Flutter und Dart installiert haben. Zusätzlich muss die flutter_test Bibliothek im pubspec.yaml enthalten sein.

Einrichtung

  1. Fügen Sie die Testabhängigkeiten zu Ihrer pubspec.yaml hinzu:
dev_dependencies:
  flutter_test:
    sdk: flutter
  integration_test:
    sdk: flutter
  1. Führen Sie flutter pub get aus, um die Abhängigkeiten zu installieren.

Unit-Tests

Unit-Tests sind schnell und testen kleine Codeeinheiten. Beispiel:

import 'package:flutter_test/flutter_test.dart';

void main() {
  test('Addition funktioniert', () {
    expect(2 + 2, 4);
  });
}

Widget-Tests

Widget-Tests testen die Benutzeroberfläche und interagieren mit Widgets. Beispiel:

import 'package:flutter_test/flutter_test.dart';

void main() {
  testWidgets('MeinWidget hat einen Titel', (WidgetTester tester) async {
    await tester.pumpWidget(const MyWidget(title: 'Hallo'));
    expect(find.text('Hallo'), findsOneWidget);
  });
}

Integrationstests

Integrationstests testen die gesamte App. Sie werden in einem Ordner integration_test/ platziert.

import 'package:integration_test/integration_test.dart';
import 'package:flutter_test/flutter_test.dart';

void main() {
  IntegrationTestWidgetsFlutterBinding.ensureInitialized();

  testWidgets('End-to-End Test: App startet', (WidgetTester tester) async {
    app.main();
    await tester.pumpAndSettle();
    expect(find.text('Willkommen'), findsOneWidget);
  });
}

Ausführen der Tests

# Unit- und Widget-Tests
flutter test

# Integrationstests
flutter test integration_test/

Tipps

  • Verwenden Sie setUp und tearDown für gemeinsame Initialisierungen.
  • Nutzen Sie mockito oder mocktail für Mocking bei Unit-Tests.
  • Halten Sie Tests unabhängig und deterministisch.

Fehlerbehebung

  • Wenn Tests fehlschlagen, überprüfen Sie die Pfade und Abhängigkeiten.
  • Stellen Sie sicher, dass Sie die richtige Testbibliothek importiert haben.

Weitere Ressourcen

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-integration-test

Configures Flutter Driver for app interaction and converts MCP actions into permanent integration tests. Use when adding integration testing to a project, exploring UI components via MCP, or automating user flows with the integration_test package.

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

Verwandte Skills