SuperAPI AI 工具集

flutter-testing-apps

测试与质量

查看项目

更新于 10-16 05:50

技能介绍

用途:为 Flutter 应用建立自动化测试体系,通过单元、Widget 和集成三类测试平衡信心、维护成本、依赖与执行速度。

主要能力:单元测试验证单个函数、方法或类的正确性,需 mock 全部外部依赖,不涉及磁盘 I/O、屏幕渲染或外部用户操作,使用 test 或 flutter_test 包执行。Widget 测试验证单个组件的 UI 外观与交互,借助 WidgetTester 提供组件生命周期上下文,用 Finder 定位组件、Matcher 校验状态,无需启动完整应用。集成测试验证各部件协同并可在真机采集性能指标,需添加 integration_test 依赖,运行于物理设备、系统模拟器或 Firebase Test Lab,优先覆盖路由、依赖注入和关键用户流程。

架构与插件:为每个 ViewModel、Service、Repository 编写单元测试,Repository 需 mock 底层数据源;View 用 Widget 测试并注入伪造的 ViewModel 与 Repository。测试 ViewModel 和 View 时优先使用 Fake 实现而非 mock 库。插件测试需结合 Dart 测试与原生测试:Android 在 android/src/test/ 配置 JUnit,iOS/macOS 在 example/ios/RunnerTests/ 与 example/macos/RunnerTests/ 配置 XCTest,Linux/Windows 在 linux/test/ 与 windows/test/ 配置 GoogleTest;原生 UI 交互可用 Espresso 或 XCUITest;每个平台通道调用至少写一个集成测试。

使用方式:移动端本地运行 flutter test integration_test/app_test.dart;Web 先启动 chromedriver --port=4444,再运行 flutter drive --driver=test_driver/integration_test.dart --target=integration_test/app_test.dart -d chrome;Linux CI 用 xvfb-run flutter test integration_test/app_test.dart -d linux;Firebase Test Lab 需 flutter build apk --debug 与 ./gradlew app:assembleAndroidTest 后上传 APK。

限制:资料未提供具体收费、价格或平台支持范围等额外信息。