我正在尝试为Fragment
中托管的特定Activity
创建UI测试,但是由于某些原因,ActivityTestRule
似乎忽略了深层链接的额外内容,并打开了{{1} },而不是目标对象:
Fragment
我已经知道新的private val activityRule = ActivityTestRule(MainActivity::class.java, false, false)
private lateinit var startIntent: Intent
@Before
fun setup() {
...
startIntent = NavDeepLinkBuilder(InstrumentationRegistry.getInstrumentation().targetContext)
.setComponentName(MainActivity::class.java)
.setGraph(R.navigation.main)
.setDestination(R.id.fragmentId)
.createTaskStackBuilder().intents.first()
...
}
@Test
fun testMyFragment() {
...
activityRule.launchActivity(startIntent)
...
}
API和FragmentScenario
lib,但是在我看来,我不能简单地使用它们,因为我还使用了dagger-android,这需要托管FragmentTestRule
来实施Activity
,我真的不希望通过变通办法来克服这一问题。