# androidx.navigation.testing

*** ** * ** ***

Common/AllAndroid/JVM

## Classes

|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/navigation/testing/TestNavHostController` | Subclass of `https://developer.android.com/reference/kotlin/androidx/navigation/NavHostController` that offers additional APIs for testing Navigation. | Cmn android |
| `https://developer.android.com/reference/kotlin/androidx/navigation/testing/TestNavigatorState` | An implementation of `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState` that allows testing a `https://developer.android.com/reference/kotlin/androidx/navigation/Navigator` in isolation (i.e., without requiring a `https://developer.android.com/reference/kotlin/androidx/navigation/NavController`). | Cmn android |

## Extension functions summary

|---|---|---|
| `operator https://developer.android.com/reference/kotlin/androidx/lifecycle/SavedStateHandle` | `https://developer.android.com/reference/kotlin/androidx/lifecycle/SavedStateHandle.Companion.https://developer.android.com/reference/kotlin/androidx/navigation/testing/package-summary#(androidx.lifecycle.SavedStateHandle.Companion).invoke(kotlin.Any,kotlin.collections.Map)( route: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html, typeMap: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-type/index.html, https://developer.android.com/reference/kotlin/androidx/navigation/NavType<*>> )` SavedStateHandle constructor to create a SavedStateHandle with a serializable object. | Cmn |

## Extension functions

### SavedStateHandle.Companion.invoke

Cmn Artifact: [androidx.navigation:navigation-testing](https://developer.android.com/jetpack/androidx/releases/navigation) [View Source](https://cs.android.com/search?q=file:androidx/navigation/testing/SavedStateHandleFactory.kt+function:invoke) Added in [2.8.0](https://developer.android.com/jetpack/androidx/releases/navigation#2.8.0)

```
operator fun SavedStateHandle.Companion.invoke(
    route: Any,
    typeMap: Map<KType, NavType<*>> = emptyMap()
): SavedStateHandle
```

SavedStateHandle constructor to create a SavedStateHandle with a serializable object.

Returns a `https://developer.android.com/reference/kotlin/androidx/lifecycle/SavedStateHandle` populated with arguments from `https://developer.android.com/reference/kotlin/androidx/navigation/testing/package-summary#(androidx.lifecycle.SavedStateHandle.Companion).invoke(kotlin.Any,kotlin.collections.Map)`.

Note: To use this api in non-instrumented tests, run with robolectric. This is because android's Bundle is necessarily integrated into the parsing of route arguments.

| Parameters |
|---|---|
| `route: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html` | The route to extract argument values from |
| `typeMap: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-type/index.html, https://developer.android.com/reference/kotlin/androidx/navigation/NavType<*>> = emptyMap()` | A mapping of KType to custom NavType\<\*\> in the `https://developer.android.com/reference/kotlin/androidx/navigation/testing/package-summary#(androidx.lifecycle.SavedStateHandle.Companion).invoke(kotlin.Any,kotlin.collections.Map)`. May be empty if `https://developer.android.com/reference/kotlin/androidx/navigation/testing/package-summary#(androidx.lifecycle.SavedStateHandle.Companion).invoke(kotlin.Any,kotlin.collections.Map)` does not use custom NavTypes. |