跳转至正文

集成测试的理念

了解 Flutter 中的集成测试。

单元测试和 widget 测试验证单个类、函数或 widget。它们不会验证各个部分如何作为一个整体协同工作,也不会反映应用在真实设备上运行时的性能。要完成这些任务,请使用 集成测试 (integration tests)。

集成测试验证完整应用的行为。这类测试也可称为端到端测试或 GUI 测试。

测试框架

#

Flutter 集成测试常用两个 package,分别是:

  • integration_test package:官方集成测试 package,属于 Flutter SDK 的一部分。使用 integration_test 编写的测试可以:在目标设备上运行、通过 flutter test integration_test 在主机上运行,并使用 flutter_test API。这使得集成测试的编写方式与 widget 测试类似。不过,integration_test 无法与原生平台 UI 交互。

  • patrol package:流行的第三方集成测试 package,具备 integration_test package 支持的许多功能,还能额外与原生平台 UI 交互,例如权限对话框、通知或平台视图的内容。

术语

#

主机 (host machine)
你开发应用所在的系统,例如台式计算机。

目标设备 (target device)
运行 Flutter 应用的移动设备、浏览器或桌面应用。

若在 Web 浏览器或桌面应用中运行应用,主机与目标设备是同一台机器。

入门

#

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

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

要使用 patrol,请遵循 Patrol 设置指南

集成测试的用例

#

本小节的其他指南说明如何使用集成测试验证 功能性能