Flutter Gems is a curated list of 6000+ useful Dart & Flutter packages that are categorized based on functionality.
Top Flutter Testing packages
Last updated: November 15, 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.36K
Maintenance Status: Good
A mock framework inspired by Mockito with APIs for Fakes, Mocks, behavior verification, and stubbing.
mocktail
Dart 3 compatible 👍 1.08K
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 👍 823
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 👍 562
Maintenance Status: Good
A full featured library for writing and running Dart tests across platforms.
http_mock_adapter
Dart 3 compatible 👍 162
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.
bdd_widget_test
Dart 3 compatible 👍 154
Maintenance Status: Good
A BDD-style widget testing library. Generates Flutter widget tests from *.feature files.
alchemist
Dart 3 compatible 👍 154
Maintenance Status: Good
A support package that aims to make golden testing in Flutter easier and more streamlined.
widgets_to_image
Dart 3 compatible 👍 152
Maintenance Status: Good
A simple package to convert any widgets into an image, everything in flutter is rendered pixel by pixel.
convenient_test
Dart 3 compatible 👍 131
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 👍 108
Maintenance Status: Good
Coverage data manipulation and formatting
fake_async
Dart 3 compatible 👍 106
Maintenance Status: Good
Fake asynchronous events such as timers and microtasks for deterministic testing.
platform
Dart 3 compatible 👍 101
Maintenance Status: Good
A pluggable, mockable platform information abstraction for Dart.
checks
Dart 3 compatible 👍 99
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 👍 90
Maintenance Status: Good
generate massive amounts of fake data in Dart & Flutter! A dart port of the famous faker.js
spot
Dart 3 compatible 👍 64
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 👍 58
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 👍 57
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 👍 41
Maintenance Status: Good
Tool to view and navigate one app with different settings at the same time
process
Dart 3 compatible 👍 37
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.
glados
Dart 3 compatible 👍 37
Maintenance Status: Good
A simple testing framework that tries to break your properties.
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.
approval_tests
Dart 3 compatible 👍 20
Maintenance Status: Good
Approval Tests implementation in Dart. Inspired by ApprovalTests.
build_test
Dart 3 compatible 👍 10
Maintenance Status: Good
Utilities for writing unit tests of Builders.
flame_test
Dart 3 compatible 👍 4
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
Dart 3 compatible 👍 219
Maintenance Status: Average
Development tool that helps you make your flutter application "pixel perfect"
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
Dart 3 compatible 👍 44
Maintenance Status: Average
The sweet side of testing. An end to end testing framework for Flutter.
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.
flutter_auto_gui
Dart 3 compatible 👍 34
Maintenance Status: Average
A flutter plugin for desktop applications for controlling mouse and keyboard to automate interactions with other applications.
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.
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.
figma_frame_inspector
Dart 3 compatible 👍 23
Maintenance Status: Average
A Flutter plugin to verify how accurately the Figma frame was implemented in the app.
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
Dart 3 compatible 👍 21
Maintenance Status: Average
The CLI for Fluttium, a user flow testing framework for Flutter
acyclic_steps
Dart 3 compatible 👍 14
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 👍 131
Maintenance Status: Poor
A Gherkin / Cucumber parser and test runner for Dart and Flutter
defer_pointer
Dart 3 compatible 👍 122
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 👍 34
Maintenance Status: Poor
A command-line tool to customize the contents of a coverage lcov.info file.
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'
patrol
👍 515
Maintenance Status: Good
Powerful Flutter-native UI testing framework overcoming limitations of existing Flutter testing tools.
debug_friend
👍 58
Maintenance Status: Good
Flutter debug helper widget with device info, common and custom actions.
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).
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..