Смотрите мой код:
Код: Выделить всё
// Screen.kt
@Serializable
sealed class Screen {
@Serializable
data class Details(
val movieId: Int,
) : Screen()
}
Код: Выделить всё
// DetailsViewModel.kt
import androidx.navigation.toRoute
import com.paulohc.movlist.navigation.Screen
class DetailsViewModel @Inject constructor(
savedStateHandle: SavedStateHandle,
) : ViewModel() {
val movieId: Int = savedStateHandle.toRoute().movieId
}
Код: Выделить всё
// DetailsViewModelTest.kt
class DetailsViewModelTest {
private lateinit var detailsViewModel: DetailsViewModel
@BeforeEach
fun setup() {
val savedState = SavedStateHandle(mapOf("movieId" to 10))
detailsViewModel = DetailsViewModel(savedState)
}
@Test
fun getState() {
assertThat(detailsViewModel.movieId).isEqualTo(10)
}
}
Код: Выделить всё
Method putInt in android.os.BaseBundle not mocked. See https://developer.android.com/r/studio-ui/build/not-mocked for details.
java.lang.RuntimeException: Method putInt in android.os.BaseBundle not mocked. See https://developer.android.com/r/studio-ui/build/not-mocked for details.
Подробнее здесь: https://stackoverflow.com/questions/788 ... on-compose
Мобильная версия