ActivityTestRule игнорирует навигацию ArchComponents намерение глубокая ссылка - PullRequest
0 голосов
/ 01 июля 2019

Я пытаюсь создать тест пользовательского интерфейса для конкретного Fragment, размещенного в Activity, но похоже, что по какой-то причине ActivityTestRule игнорирует дополнительные ссылки и открывает home 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)
    ...
}

Я уже знаю о новых FragmentScenario API и FragmentTestRule lib, но, похоже, я не могу использовать их простым способом в моем случае, так как я также использую dagger-android, который требует хостинга Activity для реализовать HasSupportFragmentInjector, и мне бы очень хотелось не применять обходные пути для преодоления этого.

...