如何使用Airbnb DeepLinkDispatch在浓缩咖啡测试中启动活动

时间:2018-08-21 09:08:16

标签: android android-espresso deeplink

我进入了一个使用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一起运行吗?

0 个答案:

没有答案