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

Discord Medium LinkedIn Twitter

Top Flutter Testing packages

Last updated: March 25, 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.22K
Maintenance Status: Good

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

mocktail
Dart 3 compatible 👍 947
Maintenance Status: Good

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

test
Dart 3 compatible 👍 524
Maintenance Status: Good

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

patrol
Dart 3 compatible 👍 421
Maintenance Status: Good

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

pixel_perfect Card Image
pixel_perfect
Dart 3 compatible 👍 209
Maintenance Status: Good

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

http_mock_adapter
Dart 3 compatible 👍 147
Maintenance Status: Good

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.

alchemist
Dart 3 compatible 👍 133
Maintenance Status: Good

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

bdd_widget_test
Dart 3 compatible 👍 126
Maintenance Status: Good

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

fake_cloud_firestore
Dart 3 compatible 👍 110
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.

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

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

coverage
Dart 3 compatible 👍 99
Maintenance Status: Good

Coverage data manipulation and formatting

platform
Dart 3 compatible 👍 90
Maintenance Status: Good

A pluggable, mockable platform information abstraction for Dart.

mockingjay
Dart 3 compatible 👍 88
Maintenance Status: Good

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

checks
Dart 3 compatible 👍 85
Maintenance Status: Good

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

firebase_auth_mocks
Dart 3 compatible 👍 84
Maintenance Status: Good

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

faker_dart
Dart 3 compatible 👍 81
Maintenance Status: Good

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

inspector Card Image
inspector
Dart 3 compatible 👍 60
Maintenance Status: Good

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

debug_friend Card Image
debug_friend
Dart 3 compatible 👍 56
Maintenance Status: Good

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

webdriver
Dart 3 compatible 👍 54
Maintenance Status: Good

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

spot
Dart 3 compatible 👍 54
Maintenance Status: Good

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

patrol_cli
Dart 3 compatible 👍 53
Maintenance Status: Good

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

benchmark_harness
Dart 3 compatible 👍 50
Maintenance Status: Good

The official Dart project benchmark harness.

mocktail_image_network
Dart 3 compatible 👍 48
Maintenance Status: Good

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

matcher
Dart 3 compatible 👍 45
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.

honey Card Image
honey
Dart 3 compatible 👍 41
Maintenance Status: Good

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

glados
Dart 3 compatible 👍 33
Maintenance Status: Good

A simple testing framework that tries to break your properties.

process
Dart 3 compatible 👍 30
Maintenance Status: Good

A pluggable, mockable process invocation abstraction for Dart.

mock_data
Dart 3 compatible 👍 28
Maintenance Status: Good

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

fluttium
Dart 3 compatible 👍 28
Maintenance Status: Good

The core package for the Fluttium user flow testing framework

elementary_test
Dart 3 compatible 👍 24
Maintenance Status: Good

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

nock
Dart 3 compatible 👍 23
Maintenance Status: Good

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

state_notifier_test
Dart 3 compatible 👍 21
Maintenance Status: Good

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

figma_frame_inspector Card Image
figma_frame_inspector
Dart 3 compatible 👍 21
Maintenance Status: Good

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

espresso
Dart 3 compatible 👍 21
Maintenance Status: Good

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

fluttium_cli Card Image
fluttium_cli
Dart 3 compatible 👍 19
Maintenance Status: Good

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

appium_driver
Dart 3 compatible 👍 19
Maintenance Status: Good

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

acyclic_steps
Dart 3 compatible 👍 13
Maintenance Status: Good

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

build_test
Dart 3 compatible 👍 11
Maintenance Status: Good

Utilities for writing unit tests of Builders.

flutster
Dart 3 compatible 👍 7
Maintenance Status: Good

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

flame_test
Dart 3 compatible 👍 4
Maintenance Status: Good

A package with classes to help testing applications using Flame

stash_test
Dart 3 compatible 👍 0
Maintenance Status: Good

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

faker
Dart 3 compatible 👍 746
Maintenance Status: Average

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

widgets_to_image
Dart 3 compatible 👍 99
Maintenance Status: Average

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

fake_async
Dart 3 compatible 👍 89
Maintenance Status: Average

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

network_image_mock
Dart 3 compatible 👍 52
Maintenance Status: Average

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

spec
Dart 3 compatible 👍 45
Maintenance Status: Average

A streamlined testing framework for Dart & Flutter.

gherkin
Dart 3 compatible 👍 40
Maintenance Status: Average

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

firebase_storage_mocks
Dart 3 compatible 👍 33
Maintenance Status: Average

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

random_x
Dart 3 compatible 👍 32
Maintenance Status: Average

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

flutter_auto_gui
Dart 3 compatible 👍 26
Maintenance Status: Average

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

shouldly
Dart 3 compatible 👍 23
Maintenance Status: Average

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

ogurets
Dart 3 compatible 👍 23
Maintenance Status: Average

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.

modular_test
Dart 3 compatible 👍 12
Maintenance Status: Average

Smart project structure with dependency injection and route management

spec_cli
Dart 3 compatible 👍 9
Maintenance Status: Average

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

dart_test_adapter
Dart 3 compatible 👍 7
Maintenance Status: Average

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

ngtest
Dart 3 compatible 👍 3
Maintenance Status: Average

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

flutter_gherkin
Dart 3 compatible 👍 126
Maintenance Status: Poor

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

flutter_automation
Dart 3 compatible 👍 126
Maintenance Status: Poor

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

defer_pointer
Dart 3 compatible 👍 97
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 👍 85
Maintenance Status: Poor

Customizable, easy to use heat map interface analysis library

transparent_pointer
Dart 3 compatible 👍 42
Maintenance Status: Poor

Provides TransparentPointer to control hit testing

remove_from_coverage
Dart 3 compatible 👍 33
Maintenance Status: Poor

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

benchmark
Dart 3 compatible 👍 30
Maintenance Status: Poor

A full featured library for writing and running Dart benchmarks.

junitreport
Dart 3 compatible 👍 29
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 👍 28
Maintenance Status: Poor

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

given_when_then
Dart 3 compatible 👍 14
Maintenance Status: Poor

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

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.

file_testing
Dart 3 compatible 👍 2
Maintenance Status: Poor

Testing utilities for package:file

state_queue_test
Dart 3 compatible 👍 0
Maintenance Status: Poor

Testing utilities for 'StateQueue'

conduit_test
👍 2
Maintenance Status: Good

Utilities for writing automated tests for Conduit applications

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..