Mobile 1,761 installs

Testing Flutter Applications

by flutter/skills

Implements unit, widget, and integration tests for a Flutter app. Use when ensuring code quality and preventing regressions through automated testing.

Skill content

Comprehensive testing framework for Flutter apps across unit, widget, and integration test layers.

- Covers three test categories: unit tests for isolated logic, widget tests for UI components, and integration tests for end-to-end flows on real devices or emulators

- Provides architectural testing patterns for ViewModels, Repositories, Services, and Views, with emphasis on Fake implementations over mocks for cleaner test design

- Includes plugin testing guidelines combining Dart tests with native platform tests (JUnit, XCTest, GoogleTest, Espresso, XCUITest) to validate method channel communication

- Offers platform-specific workflows for running integration tests on mobile, web, Linux, and Firebase Test Lab with conditional execution logic

Testing Flutter Applications

Contents

- Core Testing Strategies

- Architectural Testing Guidelines

- Plugin Testing Guidelines

- Workflows

- Examples

Core Testing Strategies

Balance your testing suite across three main categories to optimize for confidence, maintenance cost, dependencies, and execution speed.

Unit Tests

Use unit tests to verify the correctness of a single function, method, or class under various conditions.

- Mock all external dependencies.

- Do not involve disk I/O, screen rendering, or user actions from outside the test process.

- Execute using the test or flutter_test package.