整合測試概念
了解 Flutter 中的整合測試。
單元測試(Unit tests)與元件測試(Widget tests)用於驗證個別的類別、函式或元件(Widgets)。 但它們無法驗證各個部分在整個應用程式中如何協同運作,也無法評估應用程式在真實裝置上運行時的效能。 若要執行這些任務,請使用整合測試(integration tests)。
整合測試(integration tests)用於驗證完整應用程式的行為。 這類測試也稱為端對端測試(end-to-end testing)或 GUI 測試(GUI testing)。
測試框架
#執行 Flutter 整合測試通常會使用以下兩個套件:
-
integration_test 套件:Flutter SDK 內建的官方整合測試套件。 使用
integration_test撰寫的測試可以執行下列任務:在目標裝置(target device)上執行、 從主機(host machine)使用flutter test integration_test執行, 以及使用flutter_testAPI。這讓整合測試的寫法與元件測試(widget tests)類似。 但integration_test無法與原生平台 UI 互動。 -
patrol 套件:一個廣受歡迎的第三方整合測試套件, 支援
integration_test套件的多數功能, 但還能額外與原生平台 UI 互動,例如權限對話框、通知或平台視圖的內容。
術語說明
#- host machine(主機)
你開發應用程式所使用的系統,例如桌上型電腦。
- target device(目標裝置)
-
執行你的 Flutter 應用程式的行動裝置、瀏覽器或桌面應用程式。
如果你在網頁瀏覽器或桌面應用程式中執行應用程式,主機(host machine)與目標裝置(target device)即為同一台設備。
入門
#若要使用 integration_test,請將其新增為 Flutter 應用程式測試檔案的相依套件。
若需將現有使用 flutter_driver 的專案進行遷移,
請參考 Migrating from flutter_driver
指南。
若要使用 patrol,請參閱 Patrol setup guide。
整合測試的使用情境
#Unless stated otherwise, the documentation on this site reflects Flutter 3.44.0. Page last updated on 2026-06-14. View source or report an issue.