Google は、黒人コミュニティに対する人種平等の促進に取り組んでいます。取り組みを見る

androidx.fragment.app.testing

Interfaces

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

FragmentScenario<F!>
launchFragment(fragmentArgs: Bundle? = null, @StyleRes themeResId: Int = R.style.FragmentScenarioEmptyFragmentActivityTheme, factory: FragmentFactory? = null)

FragmentScenario<F!>
launchFragment(fragmentArgs: Bundle? = null, @StyleRes themeResId: Int = R.style.FragmentScenarioEmptyFragmentActivityTheme, crossinline instantiate: () -> F)

FragmentScenario<F!>
launchFragment(fragmentArgs: Bundle? = null, @StyleRes themeResId: Int = R.style.FragmentScenarioEmptyFragmentActivityTheme, initialState: Lifecycle.State = Lifecycle.State.RESUMED, factory: FragmentFactory? = null)

Launches a Fragment with given arguments hosted by an empty FragmentActivity using given FragmentFactory and waits for it to reach initialState.

FragmentScenario<F!>
launchFragment(fragmentArgs: Bundle? = null, @StyleRes themeResId: Int = R.style.FragmentScenarioEmptyFragmentActivityTheme, initialState: Lifecycle.State = Lifecycle.State.RESUMED, crossinline instantiate: () -> 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.

FragmentScenario<F!>
launchFragmentInContainer(fragmentArgs: Bundle? = null, @StyleRes themeResId: Int = R.style.FragmentScenarioEmptyFragmentActivityTheme, factory: FragmentFactory? = null)

FragmentScenario<F!>
launchFragmentInContainer(fragmentArgs: Bundle? = null, @StyleRes themeResId: Int = R.style.FragmentScenarioEmptyFragmentActivityTheme, crossinline instantiate: () -> F)

FragmentScenario<F!>
launchFragmentInContainer(fragmentArgs: Bundle? = null, @StyleRes themeResId: Int = R.style.FragmentScenarioEmptyFragmentActivityTheme, initialState: Lifecycle.State = Lifecycle.State.RESUMED, factory: FragmentFactory? = null)

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.

FragmentScenario<F!>
launchFragmentInContainer(fragmentArgs: Bundle? = null, @StyleRes themeResId: Int = R.style.FragmentScenarioEmptyFragmentActivityTheme, initialState: Lifecycle.State = Lifecycle.State.RESUMED, crossinline instantiate: () -> 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.

Extension functions summary

For FragmentScenario
T
FragmentScenario<F>.withFragment(crossinline block: F.() -> T)

Run block using FragmentScenario.onFragment, returning the result of the block.

Top-level functions

launchFragment

inline fun <reified F : Fragment> launchFragment(
    fragmentArgs: Bundle? = null,
    @StyleRes themeResId: Int = R.style.FragmentScenarioEmptyFragmentActivityTheme,
    factory: FragmentFactory? = null
): FragmentScenario<F!>

Deprecated.

launchFragment

inline fun <reified F : Fragment> launchFragment(
    fragmentArgs: Bundle? = null,
    @StyleRes themeResId: Int = R.style.FragmentScenarioEmptyFragmentActivityTheme,
    crossinline instantiate: () -> F
): FragmentScenario<F!>

Deprecated.

launchFragment

inline fun <reified F : Fragment> launchFragment(
    fragmentArgs: Bundle? = null,
    @StyleRes themeResId: 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: 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 Lifecycle.State. This must be one of Lifecycle.State.CREATED, Lifecycle.State.STARTED, or Lifecycle.State.RESUMED.
factory: FragmentFactory? = null a fragment factory to use or null to use default factory

launchFragment

inline fun <reified F : Fragment> launchFragment(
    fragmentArgs: Bundle? = null,
    @StyleRes themeResId: 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: 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 Lifecycle.State. This must be one of Lifecycle.State.CREATED, Lifecycle.State.STARTED, or Lifecycle.State.RESUMED.
instantiate: () -> F method which will be used to instantiate the Fragment.

launchFragmentInContainer

inline fun <reified F : Fragment> launchFragmentInContainer(
    fragmentArgs: Bundle? = null,
    @StyleRes themeResId: Int = R.style.FragmentScenarioEmptyFragmentActivityTheme,
    factory: FragmentFactory? = null
): FragmentScenario<F!>

Deprecated.

launchFragmentInContainer

inline fun <reified F : Fragment> launchFragmentInContainer(
    fragmentArgs: Bundle? = null,
    @StyleRes themeResId: Int = R.style.FragmentScenarioEmptyFragmentActivityTheme,
    crossinline instantiate: () -> F
): FragmentScenario<F!>

Deprecated.

launchFragmentInContainer

inline fun <reified F : Fragment> launchFragmentInContainer(
    fragmentArgs: Bundle? = null,
    @StyleRes themeResId: 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: 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 Lifecycle.State. This must be one of Lifecycle.State.CREATED, Lifecycle.State.STARTED, or Lifecycle.State.RESUMED.
factory: FragmentFactory? = null a fragment factory to use or null to use default factory

launchFragmentInContainer

inline fun <reified F : Fragment> launchFragmentInContainer(
    fragmentArgs: Bundle? = null,
    @StyleRes themeResId: 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: 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 Lifecycle.State. This must be one of Lifecycle.State.CREATED, Lifecycle.State.STARTED, or Lifecycle.State.RESUMED.
instantiate: () -> F method which will be used to instantiate the Fragment. This is a simplification of the FragmentFactory interface for cases where only a single class needs a custom constructor called.

Extension functions

withFragment

inline fun <reified 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.