Проблемы с результатом Kotlin на модульных тестахAndroid

Форум для тех, кто программирует под Android
Anonymous
Проблемы с результатом Kotlin на модульных тестах

Сообщение Anonymous »

Я работаю над приложением Android, и я решил использовать класс результатов Kotlin, чтобы справиться с успехом/сбоем в моих операциях. Я внес изменения в код, но тесты перестают работать, и я не могу понять, почему. Здесь я показываю вам несколько фрагментов:
firestoreclient.kt
suspend fun items(): Result

источник сетевых данных.not
suspend fun getItems(): List =
fireStoreClient.items().fold({ it.items.map { item -> item.toDomain() } }, { emptyList() })

networkdatasourcetest.kt
@ExperimentalCoroutinesApi
@Test
fun `Check getItems works properly`() = runBlockingTest {
whenever(fireStoreClient.items()).doReturn(success(MOCK_ITEMS_DOCUMENT))
val expectedResult = listOf(
Item(
id = 1,
desc = "Description 1"
),
Item(
id = 2,
desc = "Description 2"
)
)
assertEquals(expectedResult, dataSource.getItems())
}
< /code>
И это исключение, которое я получаю прямо сейчас. Есть подсказка? Появляется, что метод fold () не выполняется при модульном тестировании. < /P>
java.lang.ClassCastException: kotlin.Result cannot be cast to ItemsResponse

at NetworkDataSource.getItems(NetworkDataSource.kt:31)


Подробнее здесь: https://stackoverflow.com/questions/654 ... unit-tests

Вернуться в «Android»