在 Android Studio 中测试通过收藏整理内容根据您的偏好保存和分类内容。

在 Android Studio 中测试通过收藏整理内容根据您的偏好保存和分类内容。

Android Studio 旨在简化测试。它包含许多功能,可简化您创建、运行和分析测试的方式。您可以设置在本地机器上运行的测试,或在设备上运行的插桩测试。您可以轻松地在一台或多台设备上运行单个测试或特定测试组。测试结果直接在 Android Studio 中显示。

图 1. Android Studio 显示测试结果概览。

本页面介绍了如何在 Android Studio 中管理测试。要了解如何编写自动化 Android 测试,请参阅在 Android 上测试应用。

测试类型和位置

测试的位置取决于您编写的测试类型。Android 项目为本地单元测试和插桩测试提供了默认的源代码目录。

本地单元测试位于 module-name/src/test/java/。这些测试在您机器的本地 Java 虚拟机 (JVM) 上运行。当您的测试没有 Android 框架依赖项,或者您可以为 Android 框架依赖项创建测试替身时,请使用这些测试来最大程度地缩短执行时间。有关如何编写本地单元测试的更多信息,请参阅构建本地单元测试。

注意:当您运行本地单元测试时,Android Gradle 插件会包含一个库,其中包含 Android 框架的所有 API,这允许使用测试替身。

插桩测试位于 $module-name/src/androidTest/java/。这些测试在硬件设备或模拟器上运行。它们可以访问 Instrumentation API,这些 API 可让您访问有关正在测试的应用的信息(例如 Context 类),并允许您从测试代码中控制正在测试的应用。插桩测试被构建到一个单独的 APK 中,因此它们有自己的 AndroidManifest.xml 文件。此文件是自动生成的,但您可以在 $module-name/src/androidTest/AndroidManifest.xml 创建自己的版本,该版本将与生成的清单合并。当编写集成测试和功能界面测试以自动化用户交互时,或当您的测试具有无法创建测试替身的 Android 依赖项时,请使用插桩测试。有关如何编写插桩测试的更多信息,请参阅构建插桩测试和自动化界面测试。

您可以将测试放在特定 build 变体的目录中,以便仅测试特定的 build 变体。例如,您可以将一些本地单元测试放在 $module-name/src/testMyFlavor/java/ 中,这样这些测试就会针对使用此 flavor 源代码构建的应用。有关如何创建这些定制测试的更多信息,请参阅为 build 变体创建插桩测试。

当您创建新项目或添加应用模块时,Android Studio 会创建前面列出的测试源集,并在每个源集中包含一个示例测试文件。您可以在项目窗口中查看它们,如图 2 所示。

图 2. 您的项目的 (1) 插桩测试和 (2) 本地 JVM 测试可在项目视图(左侧)或 Android 视图(右侧)中查看。

创建新测试

您可以按照以下步骤直接从其源代码为特定类或方法添加新测试

打开包含您要测试的代码的源文件。

将光标放在要测试的类或方法的名称中,然后按 Control+Shift+T(在 macOS 上为 Command+Shift+T)。

在弹出的窗口中,点击创建新测试…

在创建测试对话框中,选择 JUnit4,编辑您要生成的字段和方法,然后点击确定。

在选择目标目录对话框中,点击与您要创建的测试类型对应的源集:androidTest 用于插桩测试,或 test 用于本地单元测试。然后点击确定。

或者,您可以在相应的测试源集中创建通用测试文件,如下所示

在左侧的项目窗口中,点击下拉菜单并选择 Android 视图。

右键点击 java 目录并选择 New > Java Class 或 New > Kotlin Class/File。或者,您可以选择 java 目录并使用 Control+N(在 macOS 上为 Command+N)快捷键。

在选择目标目录对话框中,点击与您要创建的测试类型对应的源集:androidTest 用于插桩测试,或 test 用于本地单元测试。然后点击确定。

命名文件,然后点击确定。

如果在添加测试后您的应用无法编译,请确保已设置正确的测试库依赖项。有关正确依赖项的信息,请参阅构建本地测试和构建插桩测试。

运行测试

在运行任何测试之前,请确保您的项目已与 Gradle 完全同步,方法是点击工具栏中的同步项目 。您可以以不同的粒度级别运行测试

要运行目录或文件中的所有测试,请打开项目窗口并执行以下任一操作

右键点击目录或文件,然后点击运行 。

选择目录或文件,然后使用快捷键 Control+Shift+R。

要运行类或特定方法中的所有测试,请在代码编辑器中打开测试文件并执行以下任一操作

点击边槽中的运行测试图标 。

右键点击测试类或方法,然后点击运行 。

选择测试类或方法,然后使用快捷键 Control+Shift+R。

您的插桩测试将在物理设备或模拟器上运行。要了解有关设置物理设备的更多信息,请参阅在硬件设备上运行应用。要了解有关设置模拟器的更多信息,请参阅在 Android Emulator 上运行应用。

配置测试运行

默认情况下,您的测试使用 Android Studio 的默认运行配置运行。如果您需要更改某些运行设置,例如插桩运行器和部署选项,您可以在运行/调试配置对话框中编辑运行配置(点击运行 > 编辑配置)。

统一 Gradle 测试运行器

Android Gradle 插件 7.1.0 和 Android Studio Bumblebee 及更高版本使用 Gradle 自己的 Android 插桩测试运行器实现来运行插桩测试。通过使用相同的测试运行器,无论您是从命令行(例如在持续集成服务器上)使用 AGP 运行,还是从 Android Studio 运行,结果都可能保持一致。

图 3. 统一的 Gradle 测试运行器。

旧版 Android Studio 使用 IntelliJ Android 插桩测试运行器,而不是 Gradle 的 Android 插桩测试运行器。因此,如果您不使用最新版本的 Android Studio,根据您是从 Android Studio 运行测试还是从命令行使用 Gradle 插件运行测试,您可能会看到不同的测试结果,例如一个运行器通过测试而另一个运行器失败。

图 4. 旧版 Android Studio 中的离散测试运行器。

如果您的项目已保存插桩测试配置,它们将使用 Gradle 在您连接的设备上运行测试。您可以使用测试类或方法旁边的边槽操作创建新的插桩测试配置,如下所示。

图 5. 从边槽操作运行测试。

运行插桩测试时,您可以通过检查测试矩阵中 Gradle 任务输出的测试输出来确认 Android Studio 正在使用 Gradle 测试运行器。

在多个设备上并行运行

默认情况下,插桩测试在单个物理设备或模拟器上运行。如果您想查看测试在更多设备上的行为,可以按照以下步骤选择更多设备

在运行测试之前,打开目标设备下拉菜单,然后选择选择多个设备…。

图 6. 选择多个设备下拉菜单。

选择所需的设备,然后点击确定。

确保目标下拉菜单上的文本已更改为多个设备,然后点击运行 。

测试矩阵工具窗口显示每个选定设备配置的测试结果。

图 7. 测试矩阵工具窗口中的测试结果。

您可以点击特定测试以在输出窗格中检查结果。您还可以通过点击不同的列来排序测试。

使用 Firebase Test Lab 运行

使用 Firebase Test Lab,您可以同时在许多流行的 Android 设备和设备配置(不同区域设置、方向、屏幕尺寸和平台版本的组合)上测试您的应用。这些测试在远程 Google 数据中心运行的物理和虚拟设备上执行。测试结果提供测试日志并包含任何应用故障的详细信息。

要开始使用 Firebase Test Lab,您需要执行以下操作

如果您还没有 Google 帐号,请创建一个 Google 帐号。

在 Firebase 控制台中,点击创建新项目。

注意:有关 Firebase Test Lab 使用情况和相关费用(如果有)的信息,请参阅Test Lab 的使用级别、配额和价格。

Android Studio 提供了集成工具,可让您配置如何将测试部署到 Firebase Test Lab。创建 Firebase 项目后,您可以创建测试配置并运行测试

从主菜单中点击运行 > 编辑配置。

点击添加新配置 并选择Android 插桩测试。

输入或选择测试的详细信息,例如测试名称、模块类型、测试类型和测试类。

从部署目标选项下的目标下拉菜单中,选择Firebase Test Lab 设备矩阵。

如果您未登录,请点击使用 Google 登录并允许 Android Studio 访问您的帐号。

在云项目旁边,从列表中选择您的 Firebase 项目。

在矩阵配置旁边,从下拉列表中选择一个默认配置,或者点击打开对话框 创建您自己的配置。您可以选择一个或多个设备、Android 版本、区域设置和屏幕方向来测试您的应用。Firebase Test Lab 在生成测试结果时,会针对您选择的每种组合来测试您的应用。

在运行/调试配置对话框中点击确定以退出。

点击运行 来运行您的测试。

图 8. 为 Firebase Test Lab 创建测试配置。

分析测试结果

当 Firebase Test Lab 完成运行您的测试后,将打开运行窗口显示结果,如图 9 所示。您可能需要点击显示通过的测试 以查看所有已执行的测试。

图 9. 使用 Firebase Test Lab 进行的插桩测试结果。

您还可以通过点击运行窗口中测试执行日志开头显示的链接,在网页上分析您的测试。

查看测试覆盖率

测试覆盖率工具可用于本地单元测试,以跟踪您的单元测试覆盖的应用代码的百分比和区域。使用测试覆盖率工具来确定您是否充分测试了构成应用的元素、类、方法和代码行。

要运行带覆盖率的测试,请按照运行测试中描述的相同步骤操作,只是不点击运行 ,而是点击运行 test-name with coverage 。在项目窗口中,此选项可能隐藏在更多运行/调试后面。您还可以在运行/调试配置对话框的代码覆盖率选项卡下配置覆盖率设置。

图 10. 应用的代码覆盖率百分比。

查看测试结果

当您从 Android Studio 运行一个或多个测试时,结果会显示在运行窗口中。图 11 显示了一个成功的测试运行。

图 11. 测试结果显示在“运行”窗口中。

运行窗口在左侧以树状视图显示测试,在右侧的输出窗格中显示当前测试套件的结果和消息。使用工具栏、上下文菜单和状态图标管理测试结果,如下所示

使用运行工具栏重新运行当前测试、停止当前测试、重新运行失败的测试(未显示,因为它仅适用于单元测试)、暂停输出和转储线程。

使用测试工具栏过滤和排序测试结果。您还可以展开或折叠节点、显示测试覆盖率以及导入或导出测试结果。

点击上下文菜单可跟踪正在运行的测试、显示内联统计信息、滚动到堆栈跟踪、在异常处打开源代码、自动滚动到源代码,并在测试运行完成后选择第一个失败的测试。

测试状态图标指示测试是出现错误、被忽略、失败、正在进行中、已通过、已暂停、已终止还是未运行。

右键点击树状视图中的某行以显示上下文菜单,可让您在调试模式下运行测试、打开测试源代码文件或跳转到正在测试的源代码中的行。

分析测试失败

当您的一个或多个测试失败时,结果窗口会显示警告标志和失败次数(例如,“测试失败:1”)

图 12. 输出窗格中失败测试的详细信息。

当您点击左侧树状视图中失败的测试时,右侧的输出窗格会显示该测试的详细信息。它会显示预期值和实际值,以便您可以进行比较。点击查看差异链接会打开一个差异查看器,您可以在其中并排查看结果。

了解详情

本页面介绍了使用 Android Studio 创建和运行第一个测试时应遵循的基本步骤。您还可以选择从命令行运行测试。您还可以查看IntelliJ 有关测试的文档。有关在创建大型测试套件时如何配置测试的更多信息,请参阅高级测试设置。

🎭 相关推荐 🎭

【大风车大课堂】之 360智能管家APP手机照片备份功能的操作方法
解决启动CAD时没有响应
谁有365体育投注网址

解决启动CAD时没有响应

📅 07-20 👀 7312
怎么给宝宝换尿不湿
365赢了不让提款

怎么给宝宝换尿不湿

📅 07-14 👀 2092