| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> Android 单元测试 -> 正文阅读 |
|
[移动开发]Android 单元测试 |
1.概念测试应用 通过持续对应用运行测试,您可以在公开发布应用之前验证其正确性、功能行为和易用性
2.测试基础知识2.1 配置测试环境Android Studio 中的典型项目包含两个用于放置测试的目录
2.2 编写测试1 编写小型测试小型测试应该是高度集中的单元测试,能够详尽地验证应用中每个类的功能和约定。 在特定类中添加和更改方法时,请针对它们创建和运行单元测试。如果这些测试依赖于 Android 框架,请使用与设备无关的统一 API,如 如果您的测试依赖于资源,请在 应用的 app/build.gradle 注意:默认情况下,Android Studio 3.4 及更高版本提供编译版本的资源
尽可能使用 AndroidX Test API,以便您的单元测试可以在设备或模拟器上运行。 对于始终在由 JVM 驱动的开发计算机上运行的测试,您可以使用 Robolectric。 Robolectric 会模拟 Android 4.1(API 级别 16)或更高版本的运行时环境,并提供由社区维护的虚假对象(称为“影子”)。通过此功能,您可以测试依赖于框架的代码,而无需使用模拟器或模拟对象。Robolectric 支持 Android 平台的以下几个方面:
1.1插桩单元测试您可以在物理设备或模拟器上运行插桩单元测试。不过,这种形式的测试所用的执行时间明显多于本地单元测试,因此,最好只有在必须根据实际设备硬件评估应用的行为时才依靠此方法。 运行插桩测试时,AndroidX Test 会使用以下线程:
如果您需要在主线程上执行某个测试,请使用 2.编写中型测试从模块级别验证应用的行为。 请编写中型测试,即用于验证一组单元的协作和交互的集成测试。 您可以根据应用的结构和以下中型测试示例(按范围递增的顺序)来定义表示应用中的单元组的最佳方式:
如需执行这些测试,请执行以下操作:
2.1 运行插桩中型测试时使用 Espresso当您在设备或 Robolectric 上执行类似于下面的界面互动时,Espresso 有助于使任务保持同步:
如需详细了解这些互动以及如何在应用的测试中使用它们,请参阅 Espresso 指南。 3.编写大型测试单独测试应用中的每个类和模块很重要,但验证可引导用户使用多个模块和功能的端到端工作流也同样重要. 3.1 Espresso 中的同步支持除了支持中型插桩测试之外,Espresso 还支持在大型测试中完成以下任务时实现同步:
如需详细了解这些互动以及如何在应用的测试中使用它们,请参阅 Espresso 指南。 3.使用 AndroidX Test 完成其他测试任务1.使用 Truth 创建更容易读懂的断言Guava 团队提供了一个名为 Truth 的流利断言库。在构建测试的验证步骤(或 then 步骤)时,您可以使用此库来代替基于 JUnit 或 Hamcrest 的断言。
AndroidX Test 支持 Android 的其他几个主题,以使基于 Truth 的断言更易于构建:
2. 编写界面测试Espresso 可让您以编程方式且以线程安全的方式找到应用中的界面元素并与之互动。要了解详情,请参阅 Espresso 指南。 3. 运行界面测试
如需进一步提高这些测试的可靠性,请使用 Android Test Orchestrator,它在自己的 4. 推动 Activity 和 Fragment 生命周期您可以使用 5. 管理服务生命周期AndroidX Test 包含用于管理关键服务的生命周期的代码。如需详细了解如何定义这些规则,请参阅 JUnit4 规则指南。 如果应用的行为取决于设备的 SDK 版本,请使用
|
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 13:44:15- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |