Поскольку Room не поддерживает сложные типы данных, я создал TypeConverter с именем stringToUri(string: String?): Uri?.
Вот определение типа Конвертер:
Код: Выделить всё
@TypeConverter
fun stringToUri(string: String?): Uri? {
return Uri.parse(string)
}
Вот определение тестовой функции:
Код: Выделить всё
@Test
fun testStringToUri_validString_returnsUri() {
val expectedUri = Uri.parse("content://media/external/audio/media/42") // Line 165
val actualUri = converter.stringToUri("content://media/external/audio/media/42")
assertEquals(expectedUri, actualUri)
}
Разбор метода в android.net.Uri не имитируется. Подробнее см. https://developer.android.com/r/studio- ... not-mocked.
java.lang.RuntimeException: анализ метода в android.net.Uri не высмеивается. Подробности см. на https://developer.android.com/r/studio- ... not-mocked.
на android.net.Uri.parse(Uri.java)
Я новичок в разработке Android, и это мой первый проект. Можете ли вы помочь мне справиться с этой ошибкой?
Что я сделал
Я создал тестовую функцию, которая будет проверять TypeConverter с именем uriToString(uri: Uri?): String?.
Что я ожидал
Я ожидал, что TypeConverter вернет ожидаемую строку после преобразования и тестовая функция пройдет успешно.
Что на самом деле получилось
Тестовая функция завершилась неудачей с сообщением:
java.lang.RuntimeException at ConverterTest.kt:165
Подробнее здесь: https://stackoverflow.com/questions/771 ... le-testing
Мобильная версия