跳到主内容

集成测试概念

了解 Flutter 中的集成测试。

单元测试(Unit tests)和组件测试(Widget tests)用于验证单个类、函数或组件。它们无法验证各个部分如何协同工作,也无法衡量应用在真实设备上运行时的性能。要执行这些任务,请使用集成测试

集成测试用于验证完整应用的行为。这种测试也称为端到端(end-to-end)测试或 GUI 测试。

测试框架

#

Flutter 中通常使用两个软件包来执行集成测试,它们分别是:

  • integration_test 软件包:这是 Flutter SDK 中包含的官方集成测试软件包。使用 integration_test 编写的测试可以执行以下任务:在目标设备上运行、通过宿主机执行 flutter test integration_test 命令运行,以及使用 flutter_test API。这使得编写集成测试类似于编写 组件测试。但是,integration_test 无法与原生平台 UI 进行交互。

  • patrol 软件包:一个流行的第三方集成测试软件包,它支持 integration_test 软件包中的许多功能,此外还可以与原生平台 UI(如权限对话框、通知或平台视图的内容)进行交互。

术语表

#
宿主机 (host machine)

开发应用的系统,例如台式电脑。

目标设备 (target device)

运行 Flutter 应用的移动设备、浏览器或桌面应用程序。

如果您在 Web 浏览器或桌面应用程序中运行应用,则宿主机和目标设备是同一个系统。

入门

#

要使用 integration_test,请将其添加为 Flutter 应用测试文件的依赖项。

要迁移使用 flutter_driver 的现有项目,请参阅 从 flutter_driver 迁移 指南。

要使用 patrol,请遵循 Patrol 入门指南

集成测试的使用场景

#

本节中的其他指南将解释如何使用集成测试来验证 功能性能