跳到主內容

整合測試概念

瞭解 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 入門指南

整合測試的使用場景

#

本節中的其他指南將解釋如何使用整合測試來驗證 功能效能