我进入了一个使用Airbnb DeepLinkDispatch库的项目。这一部分工作正常,我也可以通过URI +查询参数(也可以很好地解析)运行活动。 但是,当我尝试使用Espresso时,出现了这个问题-Intent不包含带有URI和参数的Extra。
我写的测试:
class Test {
companion object {
@ClassRule
@JvmField
val rule = ActivityTestRule<MyActivity>(MyActivity::class.java, true, false)
}
@Before
fun setUp() {
val intent: Intent = MyActivity.createIntent(false)
rule.launchActivity(intent)
}
@Test
fun firstTest() {
onView(withId(R.id.switch))
.check(matches(isDisplayed()))
.perform(click())
Screengrab.screenshot("testtest")
}
}
我发现未调用DeepLinkActivity中的onCreate(用@DeepLinkHandler(AppModule :: class)注释的类)。
解决此问题的一种方法是将缺少的EXTRA添加到setUp()的自定义意图中,但这是我不想做的事情。这是一个脆弱的解决方案,容易出现未来的问题。
还有其他想法如何使espresso + deeplink一起运行吗?