Я пытаюсь создать тест пользовательского интерфейса для конкретного 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
, и мне бы очень хотелось не применять обходные пути для преодоления этого.