Flutter CN logo
    • 开始使用 Flutter
      • 1. 安装和环境配置
      • 2. 编辑工具设定
      • 3. 开发体验初探
      • 4. 编写第一个 Flutter 应用
      • 5. 了解更多
      • 拥有其他平台开发经验?
        • 给 Android 开发者的 Flutter 指南
        • 给 iOS SwiftUI 开发者的 Flutter 指南
        • 给 iOS UIKit 开发者的 Flutter 指南
        • 给 React Native 开发者的 Flutter 指南
        • 给 Web 开发者的 Flutter 指南
        • 给 Xamarin.Forms 开发者的 Flutter 指南
        • 声明式 UI 介绍
        • Flutter 对比 Swift 的并发
      • Dart 语言概览 open_in_new
    • 保持版本更新
      • 版本升级
      • SDK 版本列表
      • 最近更新
      • 版本发行注记
      • 破坏性改动
      • 兼容性策略
    • 教程和样例代码
      • Flutter Gallery 应用 open_in_new
      • GitHub 上的样例应用 open_in_new
      • 实用教程 (Cookbook)
      • Codelabs
    • 用户界面
    • 介绍
    • 布局构建
      • 介绍
      • 布局构建教程
      • 列表 & 网格
        • 构建与使用列表
        • 构建一个横向列表
        • 构建一个网格视图
        • 构建包含不同类型元素的列表
        • 处理长列表
      • 滚动
        • 概览
        • 使用 Slivers 实现各种滚动需求
        • 在列表开头添加一个浮动的顶栏
        • 构建一个平行错位滚动的效果
      • 响应式设计
        • 创建响应式和自适应的应用
        • 构建自适应应用
        • 根据旋转角度更新应用的界面元素
    • 设计 & 主题
      • Material 设计
        • 概览
        • 利用主题来共享样式
        • 添加抽屉
        • 显式提示栏
        • 在应用中添加 tab
      • 文字
        • 字体 & 版式
        • 使用自定义字体
        • 将字体从 package 中对外暴露
      • 自定义图形
        • 使用自定义的着色器
    • 交互
      • 为你的应用添加交互
      • 手势
        • 介绍
        • 处理点击
        • 拖动界面元素
        • 添加 Material 风格的水波纹
        • 实现滑动取消
      • 输入 & 表单
        • 创建输入框并且调整样式
        • 读取输入框的内容
        • 处理输入框的内容变动
        • 管理输入框之间的焦点
        • 构建具有校验功能的表单
      • 实现快捷方式
      • 管理键盘焦点
    • 资源 & 媒体
      • 添加资源和图片
      • 加载网络图片
      • 从占位图过渡到图片
      • 播放及暂停视频
    • 导航 & 路由
      • 概览
      • 导航至新页面并返回
      • 传递数据到新页面
      • 从新页面返回数据
      • 设置 Deeplink
      • 设置 Android Deeplink
      • 设置 iOS Universal Link
      • 设置 Web 的 URL 策略
    • 动画 & 过渡
      • 概览
      • 教程
      • 隐式动画
      • 过渡 Container 的属性
      • 渐入渐出 widget
      • Hero(跨页面共享元素)动画
      • 页面转场动画
      • 模拟物理特性动画
      • 交错动画
      • 构建菜单的交错动画
      • API 概览
    • 开发
    • 数据调用和后端
      • 状态管理
        • 介绍
        • 从声明式的角度思考
        • 短暂状态 & 持久状态
        • 简单的状态管理
        • 状态管理参考
      • 网络 & http
        • 概览
        • 从网络上获取数据
        • 构建需要认证的请求
        • 发送数据到服务器
        • 更新网络上的数据
        • 删除网络上的数据
        • WebSocket 通信
      • 序列化
        • JSON 序列化
        • 在后台处理 JSON 解析
      • 持久化
        • 将 key-value 数据存储在硬盘上
        • 读写文件
        • 利用 SQLite 持久化数据
      • Firebase
      • Google APIs
    • 应用的无障碍和国际化
      • 无障碍
      • 国际化
    • 平台集成
      • 支持的平台
      • 构建桌面端应用
      • 撰写平台代码 (插件编写实现)
      • Android 平台
        • 添加闪屏页
        • 调用原生代码
        • 托管 Android 原生视图
        • 在 Android 上恢复状态
        • 构建适合 Chrome OS 的 Android 应用
      • iOS 平台
        • 使用 Apple 的系统库
        • 添加启动页
        • 添加 iOS App Clip 支持
        • 添加 iOS App 扩展
        • 调用原生代码
        • 托管 iOS 原生视图
        • iOS 平台调试
        • 在 iOS 上恢复状态
      • Linux 操作系统平台
        • 构建 Linux 桌面软件
      • macOS 操作系统平台
        • 构建 macOS 应用
        • C 语言代码集成及调用
      • Web 平台
        • 构建一个 Web 应用
        • Web 平台常见问题
        • Web 平台渲染器
        • 自定义 Web 应用初始化
        • 在网页里显示图片
      • Windows 操作系统平台
        • 构建 Windows 桌面软件
    • Package 和插件
      • 使用 package 和插件
      • 开发 Package 和插件
      • Happy paths 项目
      • Flutter Favorites 项目
      • Package 和插件网站 open_in_new
    • 测试和调试
      • 测试
      • 概览
      • Widget 测试
        • 介绍
        • 寻找 widgets
        • 模拟滚动
        • 模拟用户操作
      • 集成测试
        • 介绍
        • 编写并运行集成测试
        • 衡量集成测试的性能指标
      • 单元测试
        • 介绍
        • 模拟依赖
      • 测试插件
      • 在测试中处理插件代码
      • 调试
      • 调试工具
      • 通过代码调试应用
      • 使用原生语言的调试
      • Flutter 的构建模式
      • 常见的 Flutter 错误
      • 处理错误
      • 将错误上报到收集服务
    • 性能优化
      • 概览
      • 使用 Impeller **新增**
      • 性能最佳实践
      • 应用大小
      • 延迟加载组件
      • 渲染性能
      • 性能分析
      • 着色器编译时卡顿
      • 性能指标
      • 性能常见问题和回答
      • 附录
    • 打包部署
      • 混淆 Dart 代码
      • 配置 flavors
      • 构建和发布为 Android 应用
      • 构建和发布为 iOS 应用
      • 构建和发布为 macOS 应用
      • 构建和发布为 Linux 应用
      • 构建和发布为 Windows 应用
      • 构建和发布为 Web 应用
      • 持续部署
    • 将 Flutter 添加到现有应用
      • 介绍
      • 将 Flutter 添加到现有 Android 应用
        • 工程设定
        • 添加单个 Flutter 页面
        • 添加一个 Flutter Fragment
        • 添加 Flutter 视图
        • Plugin 初始化
      • 将 Flutter 添加到现有 iOS 应用
        • 工程设定
        • 添加单个 Flutter 页面
      • 调试及热重载
      • 多个 Flutter 实例
      • 加载顺序和性能
    • 工具 & 代码编辑器
      • Android Studio & IntelliJ
      • Visual Studio Code
      • DevTools
        • 概览
        • 在 Android Studio & IntelliJ 中安装 DevTools
        • 在 VS Code 中安装 DevTools
        • 利用终端命令安装 DevTools
        • Flutter inspector
        • 性能视图
        • CPU 性能视图
        • 内存视图
        • 调试控制条视图
        • 网络视图
        • 调试工具 Debugger
        • 日志视图
        • 应用体积工具
        • 发布日志
      • SDK 概览
      • Flutter pubspec 选项
      • 自动修复
      • 代码格式化
    • Flutter 相关概念
      • Flutter 架构概览
      • Flutter 工作原理
      • 理解布局约束
      • Flutter 构建模式
      • 热重载
      • 平台行为差异和适配
    • 开发者资源列表
      • 学习
      • 官方博文
      • 社区中文教程
      • 相关书籍
      • 技术视频和在线资源
      • Dart 资源列表
      • 贡献
      • 提出 Bug
      • 为 Flutter 做出贡献 open_in_new
      • 工具包
      • 休闲游戏工具包
      • 新闻内容工具包
      • 常见
      • 常见问题解答
      • 使用 Google 字体库 open_in_new
      • 官方品牌资源 open_in_new
    • 更多资料
      • 了解 Dash
      • Flutter Widget 目录
      • Flutter Widget 列表
      • Flutter API 文档 open_in_new
      • flutter 命令行文档
      • 安全误报
  • 多平台
    移动平台 Web 平台 桌面平台 嵌入式平台
  • 开发
    学习资源 Flutter Favorites 系列插件 使用 Packages 盈利 游戏 新闻
  • 生态
    社区 盈利
  • 成功故事
  • 关于中文文档
  • 文档
    最新更新 IDE 集成 热重载 性能分析 安装 Flutter 开发者工具 Cookbook Codelabs 社区教程
开始使用
邀请 参与 2023 第二季度 Flutter 开发者调查。
  • 开始使用 Flutter
    • 1. 安装和环境配置
    • 2. 编辑工具设定
    • 3. 开发体验初探
    • 4. 编写第一个 Flutter 应用
    • 5. 了解更多
    • 拥有其他平台开发经验?
      • 给 Android 开发者的 Flutter 指南
      • 给 iOS SwiftUI 开发者的 Flutter 指南
      • 给 iOS UIKit 开发者的 Flutter 指南
      • 给 React Native 开发者的 Flutter 指南
      • 给 Web 开发者的 Flutter 指南
      • 给 Xamarin.Forms 开发者的 Flutter 指南
      • 声明式 UI 介绍
      • Flutter 对比 Swift 的并发
    • Dart 语言概览 open_in_new
  • 保持版本更新
    • 版本升级
    • SDK 版本列表
    • 最近更新
    • 版本发行注记
    • 破坏性改动
    • 兼容性策略
  • 教程和样例代码
    • Flutter Gallery 应用 open_in_new
    • GitHub 上的样例应用 open_in_new
    • 实用教程 (Cookbook)
    • Codelabs
  • 用户界面
  • 介绍
  • 布局构建
    • 介绍
    • 布局构建教程
    • 列表 & 网格
      • 构建与使用列表
      • 构建一个横向列表
      • 构建一个网格视图
      • 构建包含不同类型元素的列表
      • 处理长列表
    • 滚动
      • 概览
      • 使用 Slivers 实现各种滚动需求
      • 在列表开头添加一个浮动的顶栏
      • 构建一个平行错位滚动的效果
    • 响应式设计
      • 创建响应式和自适应的应用
      • 构建自适应应用
      • 根据旋转角度更新应用的界面元素
  • 设计 & 主题
    • Material 设计
      • 概览
      • 利用主题来共享样式
      • 添加抽屉
      • 显式提示栏
      • 在应用中添加 tab
    • 文字
      • 字体 & 版式
      • 使用自定义字体
      • 将字体从 package 中对外暴露
    • 自定义图形
      • 使用自定义的着色器
  • 交互
    • 为你的应用添加交互
    • 手势
      • 介绍
      • 处理点击
      • 拖动界面元素
      • 添加 Material 风格的水波纹
      • 实现滑动取消
    • 输入 & 表单
      • 创建输入框并且调整样式
      • 读取输入框的内容
      • 处理输入框的内容变动
      • 管理输入框之间的焦点
      • 构建具有校验功能的表单
    • 实现快捷方式
    • 管理键盘焦点
  • 资源 & 媒体
    • 添加资源和图片
    • 加载网络图片
    • 从占位图过渡到图片
    • 播放及暂停视频
  • 导航 & 路由
    • 概览
    • 导航至新页面并返回
    • 传递数据到新页面
    • 从新页面返回数据
    • 设置 Deeplink
    • 设置 Android Deeplink
    • 设置 iOS Universal Link
    • 设置 Web 的 URL 策略
  • 动画 & 过渡
    • 概览
    • 教程
    • 隐式动画
    • 过渡 Container 的属性
    • 渐入渐出 widget
    • Hero(跨页面共享元素)动画
    • 页面转场动画
    • 模拟物理特性动画
    • 交错动画
    • 构建菜单的交错动画
    • API 概览
  • 开发
  • 数据调用和后端
    • 状态管理
      • 介绍
      • 从声明式的角度思考
      • 短暂状态 & 持久状态
      • 简单的状态管理
      • 状态管理参考
    • 网络 & http
      • 概览
      • 从网络上获取数据
      • 构建需要认证的请求
      • 发送数据到服务器
      • 更新网络上的数据
      • 删除网络上的数据
      • WebSocket 通信
    • 序列化
      • JSON 序列化
      • 在后台处理 JSON 解析
    • 持久化
      • 将 key-value 数据存储在硬盘上
      • 读写文件
      • 利用 SQLite 持久化数据
    • Firebase
    • Google APIs
  • 应用的无障碍和国际化
    • 无障碍
    • 国际化
  • 平台集成
    • 支持的平台
    • 构建桌面端应用
    • 撰写平台代码 (插件编写实现)
    • Android 平台
      • 添加闪屏页
      • 调用原生代码
      • 托管 Android 原生视图
      • 在 Android 上恢复状态
      • 构建适合 Chrome OS 的 Android 应用
    • iOS 平台
      • 使用 Apple 的系统库
      • 添加启动页
      • 添加 iOS App Clip 支持
      • 添加 iOS App 扩展
      • 调用原生代码
      • 托管 iOS 原生视图
      • iOS 平台调试
      • 在 iOS 上恢复状态
    • Linux 操作系统平台
      • 构建 Linux 桌面软件
    • macOS 操作系统平台
      • 构建 macOS 应用
      • C 语言代码集成及调用
    • Web 平台
      • 构建一个 Web 应用
      • Web 平台常见问题
      • Web 平台渲染器
      • 自定义 Web 应用初始化
      • 在网页里显示图片
    • Windows 操作系统平台
      • 构建 Windows 桌面软件
  • Package 和插件
    • 使用 package 和插件
    • 开发 Package 和插件
    • Happy paths 项目
    • Flutter Favorites 项目
    • Package 和插件网站 open_in_new
  • 测试和调试
    • 测试
    • 概览
    • Widget 测试
      • 介绍
      • 寻找 widgets
      • 模拟滚动
      • 模拟用户操作
    • 集成测试
      • 介绍
      • 编写并运行集成测试
      • 衡量集成测试的性能指标
    • 单元测试
      • 介绍
      • 模拟依赖
    • 测试插件
    • 在测试中处理插件代码
    • 调试
    • 调试工具
    • 通过代码调试应用
    • 使用原生语言的调试
    • Flutter 的构建模式
    • 常见的 Flutter 错误
    • 处理错误
    • 将错误上报到收集服务
  • 性能优化
    • 概览
    • 使用 Impeller **新增**
    • 性能最佳实践
    • 应用大小
    • 延迟加载组件
    • 渲染性能
    • 性能分析
    • 着色器编译时卡顿
    • 性能指标
    • 性能常见问题和回答
    • 附录
  • 打包部署
    • 混淆 Dart 代码
    • 配置 flavors
    • 构建和发布为 Android 应用
    • 构建和发布为 iOS 应用
    • 构建和发布为 macOS 应用
    • 构建和发布为 Linux 应用
    • 构建和发布为 Windows 应用
    • 构建和发布为 Web 应用
    • 持续部署
  • 将 Flutter 添加到现有应用
    • 介绍
    • 将 Flutter 添加到现有 Android 应用
      • 工程设定
      • 添加单个 Flutter 页面
      • 添加一个 Flutter Fragment
      • 添加 Flutter 视图
      • Plugin 初始化
    • 将 Flutter 添加到现有 iOS 应用
      • 工程设定
      • 添加单个 Flutter 页面
    • 调试及热重载
    • 多个 Flutter 实例
    • 加载顺序和性能
  • 工具 & 代码编辑器
    • Android Studio & IntelliJ
    • Visual Studio Code
    • DevTools
      • 概览
      • 在 Android Studio & IntelliJ 中安装 DevTools
      • 在 VS Code 中安装 DevTools
      • 利用终端命令安装 DevTools
      • Flutter inspector
      • 性能视图
      • CPU 性能视图
      • 内存视图
      • 调试控制条视图
      • 网络视图
      • 调试工具 Debugger
      • 日志视图
      • 应用体积工具
      • 发布日志
    • SDK 概览
    • Flutter pubspec 选项
    • 自动修复
    • 代码格式化
  • Flutter 相关概念
    • Flutter 架构概览
    • Flutter 工作原理
    • 理解布局约束
    • Flutter 构建模式
    • 热重载
    • 平台行为差异和适配
  • 开发者资源列表
    • 学习
    • 官方博文
    • 社区中文教程
    • 相关书籍
    • 技术视频和在线资源
    • Dart 资源列表
    • 贡献
    • 提出 Bug
    • 为 Flutter 做出贡献 open_in_new
    • 工具包
    • 休闲游戏工具包
    • 新闻内容工具包
    • 常见
    • 常见问题解答
    • 使用 Google 字体库 open_in_new
    • 官方品牌资源 open_in_new
  • 更多资料
    • 了解 Dash
    • Flutter Widget 目录
    • Flutter Widget 列表
    • Flutter API 文档 open_in_new
    • flutter 命令行文档
    • 安全误报
Contents
  • Integration
  • Unit
  • Widget

测试 (Testing)

  1. 实用教程
  2. 测试 (Testing)
Contents
  • Integration
  • Unit
  • Widget

Integration

  • 性能分析

  • 集成

  • 集成测试介绍

Unit

  • 使用 Mockito 模拟依赖关系

  • 单元测试 (Unit)

  • 单元测试介绍

Widget

  • Widget 测试介绍

  • 处理滚动

  • 定位到目标 widget

  • 点击、拖拽事件和文本输入

Flutter Logo
  • 使用条款
  • 品牌指南
  • 安全性
  • 隐私权说明
  • 官方网站
  • 免责声明

引用中文内容需注明本站及链接作为出处,英文内容和示例代码均遵从源站授权协议。