androidx.lifecycle.viewmodel.testing
Classes
ViewModelScenario |
|
Cmn
|
Top-level functions summary
CreationExtras |
Creates a default instance of |
Cmn
|
CreationExtras |
DefaultCreationExtras(defaultArgs: SavedState)Creates a default instance of |
Cmn
|
inline ViewModelScenario<VM> |
<VM : ViewModel> viewModelScenario(Creates a |
Cmn
|
inline ViewModelScenario<VM> |
<VM : ViewModel> viewModelScenario(Creates a |
Cmn
|
Top-level functions
DefaultCreationExtras
fun DefaultCreationExtras(): CreationExtras
Creates a default instance of CreationExtras pre-configured with all keys required to use SavedStateHandle.
This function sets up the instance with:
-
A fake
SavedStateRegistryOwnerassigned toSAVED_STATE_REGISTRY_OWNER_KEY. -
A fake
ViewModelStoreOwnerassigned toVIEW_MODEL_STORE_OWNER_KEY, containing an emptyViewModelStore.
DefaultCreationExtras
fun DefaultCreationExtras(defaultArgs: SavedState): CreationExtras
Creates a default instance of CreationExtras pre-configured with all keys required to use SavedStateHandle, with the specified defaultArgs as the DEFAULT_ARGS_KEY.
This function sets up the instance with:
-
A fake
SavedStateRegistryOwnerassigned toSAVED_STATE_REGISTRY_OWNER_KEY. -
A fake
ViewModelStoreOwnerassigned toVIEW_MODEL_STORE_OWNER_KEY, containing an emptyViewModelStore.
viewModelScenario
inline fun <VM : ViewModel> viewModelScenario(
creationExtras: CreationExtras = DefaultCreationExtras(),
noinline initializer: CreationExtras.() -> VM
): ViewModelScenario<VM>
Creates a ViewModelScenario using a given VM class as key, an initializer as a ViewModelProvider.Factory and a creationExtras as default extras.
You should access the ViewModel instance using ViewModelScenario.viewModel, and clear the ViewModelStore using ViewModelScenario.close.
Example usage:
viewModelScenario { MyViewModel(parameters) }
.use { scenario ->
val vm = scenario.viewModel
// Use the ViewModel
}
| Parameters | |
|---|---|
<VM : ViewModel> |
The reified |
creationExtras: CreationExtras = DefaultCreationExtras() |
Additional data passed to the |
noinline initializer: CreationExtras.() -> VM |
viewModelScenario
inline fun <VM : ViewModel> viewModelScenario(
factory: ViewModelProvider.Factory,
creationExtras: CreationExtras = DefaultCreationExtras()
): ViewModelScenario<VM>
Creates a ViewModelScenario using a given VM class as key, an factory and a creationExtras as default extras.
You should access the ViewModel instance using ViewModelScenario.viewModel, and clear the ViewModelStore using ViewModelScenario.close.
Example usage:
val myFactory: ViewModelProvider.Factory = MyViewModelFactory()
viewModelScenario<MyViewModel>(myFactory)
.use { scenario ->
val vm = scenario.viewModel
// Use the ViewModel
}
| Parameters | |
|---|---|
<VM : ViewModel> |
The reified |
factory: ViewModelProvider.Factory |
|
creationExtras: CreationExtras = DefaultCreationExtras() |
Additional data passed to the |