整合測試概念
瞭解 Flutter 中的整合測試。
單元測試(Unit tests)和元件測試(Widget tests)用於驗證單個類、函式或元件。它們無法驗證各個部分如何協同工作,也無法衡量應用在真實裝置上執行時的效能。要執行這些任務,請使用整合測試。
整合測試用於驗證完整應用的行為。這種測試也稱為端到端(end-to-end)測試或 GUI 測試。
測試框架
#Flutter 中通常使用兩個軟體包來執行整合測試,它們分別是:
-
integration_test 軟體包:這是 Flutter SDK 中包含的官方整合測試軟體包。使用
integration_test編寫的測試可以執行以下任務:在目標裝置上執行、透過宿主機執行flutter test integration_test命令執行,以及使用flutter_testAPI。這使得編寫整合測試類似於編寫 元件測試。但是,integration_test無法與原生平臺 UI 進行互動。 -
patrol 軟體包:一個流行的第三方整合測試軟體包,它支援
integration_test軟體包中的許多功能,此外還可以與原生平臺 UI(如許可權對話方塊、通知或平臺檢視的內容)進行互動。
術語表
#- 宿主機 (host machine)
開發應用的系統,例如臺式電腦。
- 目標裝置 (target device)
-
執行 Flutter 應用的移動裝置、瀏覽器或桌面應用程式。
如果您在 Web 瀏覽器或桌面應用程式中執行應用,則宿主機和目標裝置是同一個系統。
入門
#要使用 integration_test,請將其新增為 Flutter 應用測試檔案的依賴項。
要遷移使用 flutter_driver 的現有專案,請參閱 從 flutter_driver 遷移 指南。
要使用 patrol,請遵循 Patrol 入門指南。