Flutter Gems is a curated list of 6000+ useful Dart & Flutter packages that are categorized based on functionality.

Discord Medium LinkedIn Twitter

Top Flutter Testing packages

Last updated: December 4, 2024

There are many ways to test a Flutter app, but some common methods include:

  • Unit testing: Unit tests focus on small pieces of code, or units, to ensure that they are working as expected.
  • Widget testing: Widget tests (or component tests) focus on testing a single widget at a time. The goal of a widget testing is to verify that the widget's UI looks and interacts as expected.
  • Integration testing: Itegration tests check how well units work together in an app.
  • User testing: User tests simulate how real users would interact with the app given in form of a user interaction workflow.

Testing can either be done manually or using automated tools. The complete list of Dart and Flutter packages given below provide tools/frameworks to perform Testing, Mock Testing, Widget Testing, UI Testing, etc. and also publish Coverage reports.


mockito
Dart 3 compatible 👍 1.37K
Maintenance Status: Good

A mock framework inspired by Mockito with APIs for Fakes, Mocks, behavior verification, and stubbing.

mocktail
Dart 3 compatible 👍 1.09K
Maintenance Status: Good

A Dart mock library which simplifies mocking with null safety support and no manual mocks or code generation.

faker
Dart 3 compatible 👍 831
Maintenance Status: Good

A library for generating fake data. faker is heavily inspired by the Python package faker and, the Ruby package ffaker.

test
Dart 3 compatible 👍 565
Maintenance Status: Good

A full featured library for writing and running Dart tests across platforms.

patrol
Dart 3 compatible 👍 523
Maintenance Status: Good

Powerful Flutter-native UI testing framework overcoming limitations of existing Flutter testing tools.

alchemist
Dart 3 compatible 👍 160
Maintenance Status: Good

A support package that aims to make golden testing in Flutter easier and more streamlined.

widgets_to_image
Dart 3 compatible 👍 157
Maintenance Status: Good

A simple package to convert any widgets into an image, everything in flutter is rendered pixel by pixel.

bdd_widget_test
Dart 3 compatible 👍 156
Maintenance Status: Good

A BDD-style widget testing library. Generates Flutter widget tests from *.feature files.

convenient_test Card Image
convenient_test
Dart 3 compatible 👍 132
Maintenance Status: Good

Write and debug tests easily, with full action history, time travel, screenshots, rapid re-execution, video records, interactivity, isolation and more

fake_cloud_firestore
Dart 3 compatible 👍 129
Maintenance Status: Good

Previously known as cloud_firestore_mocks. Fake implementation of Cloud Firestore. Use this package to unit test apps that use Cloud Firestore.

coverage
Dart 3 compatible 👍 109
Maintenance Status: Good

Coverage data manipulation and formatting

fake_async
Dart 3 compatible 👍 107
Maintenance Status: Good

Fake asynchronous events such as timers and microtasks for deterministic testing.

platform
Dart 3 compatible 👍 102
Maintenance Status: Good

A pluggable, mockable platform information abstraction for Dart.

checks
Dart 3 compatible 👍 100
Maintenance Status: Good

A framework for checking values against expectations and building custom expectations.

firebase_auth_mocks
Dart 3 compatible 👍 96
Maintenance Status: Good

Fakes for Firebase Auth. Use this package with 'google_sign_in_mocks' to write unit tests involving Firebase Authentication.

mockingjay
Dart 3 compatible 👍 93
Maintenance Status: Good

A package that makes it easy to mock, test and verify navigation calls in Flutter.

faker_dart
Dart 3 compatible 👍 91
Maintenance Status: Good

generate massive amounts of fake data in Dart & Flutter! A dart port of the famous faker.js

spot
Dart 3 compatible 👍 67
Maintenance Status: Good

Chainable powerful widget selector API, screenshots and assertions for awesome widget tests.

benchmark_harness
Dart 3 compatible 👍 61
Maintenance Status: Good

The official Dart project benchmark harness.

webdriver
Dart 3 compatible 👍 59
Maintenance Status: Good

Provides WebDriver bindings for Dart. Supports WebDriver JSON interface and W3C spec. Requires the use of WebDriver remote server.

matcher
Dart 3 compatible 👍 59
Maintenance Status: Good

Support for specifying test expectations via an extensible Matcher class. Also includes a number of built-in Matcher implementations for common cases.

mocktail_image_network
Dart 3 compatible 👍 58
Maintenance Status: Good

A Dart package which allows you to mock Image.network in your widget tests with confidence using the mocktail package.

patrol_cli
Dart 3 compatible 👍 56
Maintenance Status: Good

Command-line tool for Patrol, a powerful Flutter-native UI testing framework.

transparent_pointer
Dart 3 compatible 👍 51
Maintenance Status: Good

Provides TransparentPointer to control hit testing

multi_app_viewer
Dart 3 compatible 👍 43
Maintenance Status: Good

Tool to view and navigate one app with different settings at the same time

process
Dart 3 compatible 👍 38
Maintenance Status: Good

A pluggable, mockable process invocation abstraction for Dart.

patrol_finders
Dart 3 compatible 👍 37
Maintenance Status: Good

Streamlined, high-level API on top of flutter_test.

firebase_storage_mocks
Dart 3 compatible 👍 37
Maintenance Status: Good

Mocks for Firebase Storage. Use this package to write unit tests involving Firebase Storage.

espresso
Dart 3 compatible 👍 25
Maintenance Status: Good

Java classes for testing Flutter apps using Espresso. Allows driving Flutter widgets from a native Espresso test.

elementary_test
Dart 3 compatible 👍 25
Maintenance Status: Good

A testing library which makes it easy to test elementary used apps. Built to be used with the elementary architecture package.

testsweets
Dart 3 compatible 👍 23
Maintenance Status: Good

A no-code test automation tool that turns any tester into an automation engineer

appium_driver
Dart 3 compatible 👍 23
Maintenance Status: Good

An Appium binding for Dart. Support WebDriver W3C spec inheriting webdriver.dart.

build_test
Dart 3 compatible 👍 10
Maintenance Status: Good

Utilities for writing unit tests of Builders.

flame_test
Dart 3 compatible 👍 5
Maintenance Status: Good

A package with classes to help testing applications using Flame

file_testing
Dart 3 compatible 👍 4
Maintenance Status: Good

Testing utilities for package:file.

conduit_test
Dart 3 compatible 👍 2
Maintenance Status: Good

Utilities for writing automated tests for Conduit applications

stash_test
Dart 3 compatible 👍 0
Maintenance Status: Good

Provides the testing support needed in order to implement extensions to the base stash package

pixel_perfect Card Image
pixel_perfect
Dart 3 compatible 👍 219
Maintenance Status: Average

Development tool that helps you make your flutter application "pixel perfect"

http_mock_adapter
Dart 3 compatible 👍 163
Maintenance Status: Average

A simple to use mocking package for Dio intended to be used in tests. It provides various types and methods to declaratively mock request-response communication.

inspector Card Image
inspector
Dart 3 compatible 👍 73
Maintenance Status: Average

A Flutter package for inspecting widgets. Useful for quick debugging or QA testing.

spec
Dart 3 compatible 👍 47
Maintenance Status: Average

A streamlined testing framework for Dart & Flutter.

honey Card Image
honey
Dart 3 compatible 👍 44
Maintenance Status: Average

The sweet side of testing. An end to end testing framework for Flutter.

glados
Dart 3 compatible 👍 37
Maintenance Status: Average

A simple testing framework that tries to break your properties.

google_sign_in_mocks
Dart 3 compatible 👍 34
Maintenance Status: Average

Mocks for Google Sign In. Use this package with `firebase_auth_mocks` to write unit tests involving Firebase Authentication.

fluttium
Dart 3 compatible 👍 30
Maintenance Status: Average

The core package for the Fluttium user flow testing framework

mock_data
Dart 3 compatible 👍 29
Maintenance Status: Average

Generate random data using Dart. Can be used to create random strings, integers, names, colors, IPs, UUIDs, URLs and dates.

figma_frame_inspector Card Image
figma_frame_inspector
Dart 3 compatible 👍 25
Maintenance Status: Average

A Flutter plugin to verify how accurately the Figma frame was implemented in the app.

coverde
Dart 3 compatible 👍 25
Maintenance Status: Average

A CLI for basic coverage trace files manipulation. Validate minimum coverage, filter trace files data by tested file paths and generate HTML coverage reports.

nock
Dart 3 compatible 👍 23
Maintenance Status: Average

HTTP requests mocking library for dart and flutter. Test your application in isolation.

state_notifier_test
Dart 3 compatible 👍 21
Maintenance Status: Average

A testing library which makes it easy to test StateNotifier. Built to be used with the state_notifier, riverpod or flutter_riverpod packages.

fluttium_cli Card Image
fluttium_cli
Dart 3 compatible 👍 21
Maintenance Status: Average

The CLI for Fluttium, a user flow testing framework for Flutter

acyclic_steps
Dart 3 compatible 👍 18
Maintenance Status: Average

An explicit acyclic step dependency framework with concurrent evaluation and dependency injection.

spec_cli
Dart 3 compatible 👍 9
Maintenance Status: Average

CLI for Spec - a streamlined testing framework for Dart & Flutter.

flutster
Dart 3 compatible 👍 7
Maintenance Status: Average

Record your Flutter UI tests using this Widget on Android. Save the UI tests to play them again automatically.

flutter_automation
Dart 3 compatible 👍 134
Maintenance Status: Poor

A flutter package that provides various automation scripts to help you with your flutter project.

flutter_gherkin
Dart 3 compatible 👍 132
Maintenance Status: Poor

A Gherkin / Cucumber parser and test runner for Dart and Flutter

defer_pointer
Dart 3 compatible 👍 124
Maintenance Status: Poor

An alternative to Overlay which allows you to easily render and hit test a widget outside its parent bounds.

round_spot
Dart 3 compatible 👍 88
Maintenance Status: Poor

Customizable, easy to use heat map interface analysis library

network_image_mock
Dart 3 compatible 👍 58
Maintenance Status: Poor

Utility for providing mocked Image.network response in Flutter widget tests.

random_x
Dart 3 compatible 👍 39
Maintenance Status: Poor

A Dart Library for all of your random needs you'll ever require in your projects.

gherkin
Dart 3 compatible 👍 39
Maintenance Status: Poor

A Gherkin parsers and runner for Dart which is very similar to Cucumber, it provides the base BDD functionality ready for use in platform specific implementations i.e. flutter/web

remove_from_coverage
Dart 3 compatible 👍 35
Maintenance Status: Poor

A command-line tool to customize the contents of a coverage lcov.info file.

flutter_auto_gui
Dart 3 compatible 👍 34
Maintenance Status: Poor

A flutter plugin for desktop applications for controlling mouse and keyboard to automate interactions with other applications.

junitreport
Dart 3 compatible 👍 32
Maintenance Status: Poor

Generate JUnit XML reports from dart test runs. Transforms the output of dart or flutter tests to JUnit style XML

test_cov_console
Dart 3 compatible 👍 30
Maintenance Status: Poor

Command line utility to read lcov.info and print the coverage report to console.

benchmark
Dart 3 compatible 👍 30
Maintenance Status: Poor

A full featured library for writing and running Dart benchmarks.

ogurets
Dart 3 compatible 👍 24
Maintenance Status: Poor

Gherkin/Cucumber implementation in dart, supporting classes and simple libraries, hooks, dependency injection, and all the things you would want in an easy to use format.

shouldly
Dart 3 compatible 👍 23
Maintenance Status: Poor

A simple, extensible BDD assertion library which focuses on giving great error messages when the assertion fails.

given_when_then
Dart 3 compatible 👍 14
Maintenance Status: Poor

A Flutter package to enable code reuse while making tests more readable.

modular_test
Dart 3 compatible 👍 12
Maintenance Status: Poor

Smart project structure with dependency injection and route management

fast_flutter_driver
Dart 3 compatible 👍 9
Maintenance Status: Poor

Toolkit for running rapidly flutter driver tests on desktop.

fast_flutter_driver_tool
Dart 3 compatible 👍 7
Maintenance Status: Poor

Toolkit for running rapidly flutter driver tests on desktop.

dart_test_adapter
Dart 3 compatible 👍 7
Maintenance Status: Poor

Provides a Dart API for interacting with 'dart test'/'flutter test' programatically

ngtest
Dart 3 compatible 👍 3
Maintenance Status: Poor

Testing runner and library for AngularDart. This package is necessary to write component tests for AngularDart components.

state_queue_test
Dart 3 compatible 👍 0
Maintenance Status: Poor

Testing utilities for 'StateQueue'

debug_friend
👍 58
Maintenance Status: Good

Flutter debug helper widget with device info, common and custom actions.

approval_tests
👍 20
Maintenance Status: Good

Approval Tests implementation in Dart. Inspired by ApprovalTests.

integration_test_preview
👍 10
Maintenance Status: Good

Integration Test Preview has pre-configured methods that allow for faster test deployment for end to end (e2e) test coverage (using Android and iOS platform UIs).

flutter_ume_kit_ui
👍 5
Maintenance Status: Average

UI Kits for flutter_ume.

test_coverage
👍 44
Maintenance Status: Poor

Command line utility to run tests in Dart VM and collect coverage data.

page_object
👍 9
Maintenance Status: Poor

A Flutter package to help with implementing the Page Object pattern in a Flutter app..