android单独测试frgment,测试 Fragment

本文档介绍了如何使用AndroidX fragment-testing库的FragmentScenario类来测试Fragment。FragmentScenario提供了launchInContainer()和launch()方法来启动Fragment,分别用于带有界面和无界面的测试。通过moveToState()方法可以模拟Fragment的不同生命周期状态,recreate()方法则用于模拟Fragment的重新创建。Espresso可用于与Fragment的界面元素交互。测试对话框Fragment时,应使用launch()方法。
摘要由CSDN通过智能技术生成

本主题介绍如何在评估每个 Fragment 行为的测试中加入框架提供的 API。

Fragment 在应用中充当可重复使用的容器,使您能够在各种 Activity 和布局配置下呈现相同的界面布局。鉴于 Fragment 的多功能性,请务必验证它们是否提供资源利用率高的一致体验。请注意以下几点:

Fragment 不应依赖于特定的父 Activity 或 Fragment。

不应创建 Fragment 的视图层次结构,除非该 Fragment 对用户可见。

为了帮助设置执行这些测试的条件,AndroidX fragment-testing 库提供了 FragmentScenario 类,用于创建 Fragment 以及更改其 Lifecycle.State。

注意:为了成功运行包含 FragmentScenario 对象的测试,请在测试的插桩线程中运行 API 的每个方法。如需详细了解 Android 测试中使用的不同线程,请参阅了解测试中的线程。

声明依赖项

如需使用 FragmentScenario,请使用 debugImplementation 在应用的 build.gradle 文件中定义 fragment-testing 工件,如以下示例所示:

dependencies {

def fragment_version = "1.3.3"

debugImplementation "androidx.fragment:fragment-testing:$fragment_version"

}

注意:此处使用的是 debugImplementation,以便测试目标进程可以访问 FragmentScenario 所依赖的空 Activity。

本文档中的测试示例使用了 Espresso 和 Truth 库中的断言。如需了解其他可用的测试和断言库,请参阅针对 AndroidX Test 设置项目。

创建 Fragment

FragmentScenario 包含下面几种用于在测试中启动 Fragment 的方法:

launchInContainer(),用于测试 Fragment 的界面。FragmentScenario 会将 Fragment 附加到 Activity 的根视图控制器。包含 Fragment 的这一 Activity 原

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值