Integration testing concepts
Unit tests and widget tests validate individual classes, functions, or widgets. They don't validate how individual pieces work together in whole or capture the performance of an app running on a real device. To perform these tasks, use integration tests.
Integration tests verify the behavior of the complete app. This test can also be called end-to-end testing or GUI testing.
The Flutter SDK includes the integration_test package.
Terminology
#- host machine
The system on which you develop your app, like a desktop computer.
- target device
The mobile device, browser, or desktop application that runs your Flutter app.
If you run your app in a web browser or as a desktop application, the host machine and the target device are the same.
Dependent package
#To run integration tests, add the integration_test
package as a dependency for your Flutter app test file.
To migrate existing projects that use flutter_driver
, consult the Migrating from flutter_driver guide.
Tests written with the integration_test
package can perform the following tasks.
- Run on the target device. To test multiple Android or iOS devices, use Firebase Test Lab.
- Run from the host machine with
flutter test integration_test
. - Use
flutter_test
APIs. This makes integration tests similar to writing widget tests.
Use cases for integration testing
#The other guides in this section explain how to use integration tests to validate functionality and performance.
Unless stated otherwise, the documentation on this site reflects the latest stable version of Flutter. Page last updated on 2024-06-24. View source or report an issue.