Flutter Gems is a curated list of 5600+ useful Dart & Flutter packages that are categorized based on functionality.
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
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
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
Dart 3 compatible 👍 60
Maintenance Status: Good
A Flutter package for inspecting widgets. Useful for quick debugging or QA testing.
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
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
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
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
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..