如何使用最新的ActivityScenarioRule / ActivityScenario放入Extra数据?[Espresso / Jetpack]

问题描述 投票:1回答:1

添加了新的类来测试活动,例如ActivityScenarioRuleActivityScenario。当你想要添加一些额外的数据时,没有文档如何使用它们。

现在我发现了两种工作方式,简而言之:

1)使用ActivityScenarioRule并使用#onActivity将您的额外内容放在@Before注释的方法中。但是,某些测试用例会有不必要的数据。

2)其次,当你不需要额外的时候使用ActivityScenario和#launch(Class activityClass),当你想要额外的时候使用#launch(Intent startActivityIntent)。但是,这次我失去了使用#onActivity的能力,所有测试用例都可以放在这里

附:这是我第一次进行android测试:)

android automated-tests android-testing android-espresso
1个回答
0
投票

就个人而言,我这样做

lateinit var activityScenario: ActivityScenario<MyActivity>

@After
fun tearDown() {
    activityScenario.close()
}

@Test
fun myTest() {
    val intent = Intent(ApplicationProvider.getApplicationContext(), MyActivity::class.java)
    intent.putExtra("key", "value") //obviously use a const for key
    activityScenario = ActivityScenario.launch<MyActivity>(intent)

    activityScenario.onActivity {
        //whatever you like
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.