androidx.fragment.app.testing
Interfaces
FragmentScenario.FragmentAction |
FragmentAction interface should be implemented by any class whose instances are intended to be executed by the main thread. |
Classes
FragmentScenario |
FragmentScenario provides API to start and drive a Fragment's lifecycle state for testing. |
Top-level functions summary
inline FragmentScenario<F> |
<F : Fragment> launchFragment(Launches a Fragment with given arguments hosted by an empty |
inline FragmentScenario<F> |
<F : Fragment> launchFragment(Launches a Fragment with given arguments hosted by an empty |
inline FragmentScenario<F> |
<F : Fragment> launchFragmentInContainer(Launches a Fragment in the Activity's root view container |
inline FragmentScenario<F> |
<F : Fragment> launchFragmentInContainer(Launches a Fragment in the Activity's root view container |
Extension functions summary
inline T |
<F : Fragment, T : Any> FragmentScenario<F>.withFragment(Run |
Top-level functions
launchFragment
inline fun <F : Fragment> launchFragment(
fragmentArgs: Bundle? = null,
themeResId: @StyleRes Int = R.style.FragmentScenarioEmptyFragmentActivityTheme,
initialState: Lifecycle.State = Lifecycle.State.RESUMED,
factory: FragmentFactory? = null
): FragmentScenario<F>
Launches a Fragment with given arguments hosted by an empty FragmentActivity using given FragmentFactory and waits for it to reach initialState.
This method cannot be called from the main thread.
| Parameters | |
|---|---|
fragmentArgs: Bundle? = null |
a bundle to passed into fragment |
themeResId: @StyleRes Int = R.style.FragmentScenarioEmptyFragmentActivityTheme |
a style resource id to be set to the host activity's theme |
initialState: Lifecycle.State = Lifecycle.State.RESUMED |
the initial |
factory: FragmentFactory? = null |
a fragment factory to use or null to use default factory |
launchFragment
inline fun <F : Fragment> launchFragment(
fragmentArgs: Bundle? = null,
themeResId: @StyleRes Int = R.style.FragmentScenarioEmptyFragmentActivityTheme,
initialState: Lifecycle.State = Lifecycle.State.RESUMED,
crossinline instantiate: () -> F
): FragmentScenario<F>
Launches a Fragment with given arguments hosted by an empty FragmentActivity using instantiate to create the Fragment and waits for it to reach initialState.
This method cannot be called from the main thread.
| Parameters | |
|---|---|
fragmentArgs: Bundle? = null |
a bundle to passed into fragment |
themeResId: @StyleRes Int = R.style.FragmentScenarioEmptyFragmentActivityTheme |
a style resource id to be set to the host activity's theme |
initialState: Lifecycle.State = Lifecycle.State.RESUMED |
the initial |
crossinline instantiate: () -> F |
method which will be used to instantiate the Fragment. |
launchFragmentInContainer
inline fun <F : Fragment> launchFragmentInContainer(
fragmentArgs: Bundle? = null,
themeResId: @StyleRes Int = R.style.FragmentScenarioEmptyFragmentActivityTheme,
initialState: Lifecycle.State = Lifecycle.State.RESUMED,
factory: FragmentFactory? = null
): FragmentScenario<F>
Launches a Fragment in the Activity's root view container android.R.id.content, with given arguments hosted by an empty FragmentActivity and waits for it to reach initialState.
This method cannot be called from the main thread.
| Parameters | |
|---|---|
fragmentArgs: Bundle? = null |
a bundle to passed into fragment |
themeResId: @StyleRes Int = R.style.FragmentScenarioEmptyFragmentActivityTheme |
a style resource id to be set to the host activity's theme |
initialState: Lifecycle.State = Lifecycle.State.RESUMED |
the initial |
factory: FragmentFactory? = null |
a fragment factory to use or null to use default factory |
launchFragmentInContainer
inline fun <F : Fragment> launchFragmentInContainer(
fragmentArgs: Bundle? = null,
themeResId: @StyleRes Int = R.style.FragmentScenarioEmptyFragmentActivityTheme,
initialState: Lifecycle.State = Lifecycle.State.RESUMED,
crossinline instantiate: () -> F
): FragmentScenario<F>
Launches a Fragment in the Activity's root view container android.R.id.content, with given arguments hosted by an empty FragmentActivity using instantiate to create the Fragment and waits for it to reach initialState.
This method cannot be called from the main thread.
| Parameters | |
|---|---|
fragmentArgs: Bundle? = null |
a bundle to passed into fragment |
themeResId: @StyleRes Int = R.style.FragmentScenarioEmptyFragmentActivityTheme |
a style resource id to be set to the host activity's theme |
initialState: Lifecycle.State = Lifecycle.State.RESUMED |
the initial |
crossinline instantiate: () -> F |
method which will be used to instantiate the Fragment. This is a simplification of the |
Extension functions
withFragment
inline fun <F : Fragment, T : Any> FragmentScenario<F>.withFragment(
crossinline block: F.() -> T
): T
Run block using FragmentScenario.onFragment, returning the result of the block.
If any exceptions are raised while running block, they are rethrown.