Макет объекта в эспрессо - PullRequest
0 голосов
/ 17 февраля 2020

Сегодня я начал использовать Espresso для тестирования Activity, я практичен с Junit тестами, но не понимаю, как имитировать, у меня есть строка cashPeriod, которая, очевидно, дает мне NPE при попытке чтобы запустить операцию с Espresso

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    //no layout preview possible
    setContentView(R.layout.activity_combi_book_balance)
    title = getString(R.string.balance_details)
    setupActionBarWithHomeEnabled(true)

    val cashPeriod: CashPeriod = intent.extras.getParcelable(PERIOD_OBJECT_EXTRA)
    val sections = showList(cashPeriod)
    setAdapter(sections)
}

и мой тест Espresso будет

@Test
    fun appLaunchesSuccessfully() {
        ActivityScenario.launch(CombiBookBalanceDetailActivity::class.java)
    }

Теперь, если я заглушу cashPeriod в onCreate с некоторыми жестко закодированными значениями, тест пройден, но мне нужно чтобы сделать это в классе теста, конечно,

Как мне смоделировать строку val cashPeriod: CashPeriod = intent.extras.getParcelable (PERIOD_OBJECT_EXTRA) в моем тесте эспрессо? Отличается от Junit, где я использую Mockito / mockito-kotlin / mockk и задаю поведение с when /// return //that

1 Ответ

0 голосов
/ 17 февраля 2020

Вы должны использовать ActivityTestRule См. это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...