Contenu du post
🚀Тестирование ViewModel стало проще В 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