Android - проблемы с ожиданием и модульным тестированием - PullRequest
0 голосов
/ 22 января 2020

У меня довольно простой тест. Я жду, когда список транзакций будет получен и назначен представлению списка.

@Test
fun testTransactionsLoad(){
    val listView: ListView? = fragment!!.findView(R.id.listView)

    assertNotNull(listView)

    await().atMost(20, TimeUnit.SECONDS).until(transactionsLoad(listView!!))

    assert(listView.adapter.count > 0)
}

Но по какой-то причине ожидаемая возможность всегда отправляет false для этого вызываемого объекта:

private fun transactionsLoad(listView: ListView): Callable<Boolean> {
    return if (listView.adapter == null){
        Callable { false }
    } else {
        Callable { true }
    }
}

Это не первый раз, когда Awaitility возвращает неправильную вещь. На моем устройстве загружается представление списка, подтверждающее, что оно также должно иметь адаптер. Адаптер по-прежнему отображается как ноль в вызываемом.

Есть идеи?

...