Подборка новостей и статей для Android разработчиков.
Реклама и связь с автором @ab_manager
РКН https://abdev.by/rkn_tg_ab #MQRZR
Post #8733
6.59K
🚀 Тестирование ViewModel стало проще
В AndroidX Lifecycle 2.9.0 появилось новое API для тестирования ViewModel - ViewModelScenario. Для использования этого API необходимо подключить артефакт "androidx.lifecycle:lifecycle-viewmodel-testing".
Пример использования:
#android #kmp #тестирование #jetpackupdate
В AndroidX Lifecycle 2.9.0 появилось новое API для тестирования ViewModel - ViewModelScenario. Для использования этого API необходимо подключить артефакт "androidx.lifecycle:lifecycle-viewmodel-testing".
Пример использования:
class JetpackViewModelTest {
@Test
fun testStateRestoration() = runTest { // this = TestScope
viewModelScenario { // this = CreationExtras
SampleViewModel(
scope = this@runTest,
saveStateHandle = createSavedStateHandle(),
)
}.use { scenario: ViewModelScenario ->
scenario.state.data = "testValue"
scenario.recreate()
assertEquals("testValue", scenario.state.data)
}
}
}
class SampleViewModel(
scope: CoroutineScope,
private val saveStateHandle: SavedStateHandle,
) : ViewModel(scope) {
companion object {
private const val STATE_KEY = "state_key"
}
var data: String?
get() = saveStateHandle.get<String>(STATE_KEY)
set(value) {
saveStateHandle.set(STATE_KEY, value)
}
}
#android #kmp #тестирование #jetpackupdate
- 👍 47
- 👎 7









