Проблемы с результатом 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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