Как поместить дополнительные данные, используя новейшие ActivityScenarioRule / ActivityScenario? [Espresso / Jetpack] - PullRequest
0 голосов
/ 14 января 2019

Добавлены новые классы для тестирования Activity, такие как ActivityScenarioRule и ActivityScenario И нет документации, как их использовать, когда вы хотите поместить некоторые дополнительные данные.

Пока я нашел два рабочих способа, короче говоря:

1) Используйте ActivityScenarioRule и добавьте дополнительный в метод с аннотацией @Before, используя # onActivity . Но , для некоторых тестовых случаев будут ненужные данные.

2) Во-вторых, используйте ActivityScenario с # launch (Класс ActivityClass) , когда вам не нужно extra, и # launch (Intent startActivityIntent) , если вы хотите поставить extra. Но , на этот раз я теряю возможность использовать # onActivity , где можно разместить общее для всех тестовых случаев

P.S. это мой первый раз тестирование Android:)

1 Ответ

0 голосов
/ 11 апреля 2019

Лично я так делаю

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
    }
}
...