TGTGInsighttelegram intelligenceLIVE / telegram public index
← Android Broadcast
Android Broadcast avatar

TGINSIGHT POST

Post #8733

@android_broadcast

Android Broadcast

Vues6,570Nombre de vues
Publié26 févr.26/02/2025 06:13
Contenu

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