ActivityScenarioRule

public final class ActivityScenarioRule
extends ExternalResource

java.lang.Object
   ↳ org.junit.rules.ExternalResource
     ↳ androidx.test.ext.junit.rules.ActivityScenarioRule<A extends android.app.Activity>


ActivityScenarioRule launches a given activity before the test starts and closes after the test.

You can access the ActivityScenario instance via getScenario(). You may finish your activity manually in your test, it will not cause any problems and this rule does nothing after the test in such cases.

This rule is an upgraded version of the now deprecated ActivityTestRule.

Example:

   @Rule
   public ActivityScenarioRule rule = new ActivityScenarioRule<>(MyActivity.class);

   @Test
   public void myTest() {
     ActivityScenario scenario = rule.getScenario();
     // Your test code goes here.
   }
 

Summary

Public constructors

ActivityScenarioRule(Class<A> activityClass)

Constructs ActivityScenarioRule for a given activity class.

ActivityScenarioRule(Class<A> activityClass, Bundle activityOptions)
ActivityScenarioRule(Intent startActivityIntent)

Constructs ActivityScenarioRule with a given intent.

ActivityScenarioRule(Intent startActivityIntent, Bundle activityOptions)

Public methods

ActivityScenario<A> getScenario()

Returns ActivityScenario of the given activity class.

Protected methods

void after()
void before()

Inherited methods

Public constructors

ActivityScenarioRule

public ActivityScenarioRule (Class<A> activityClass)

Constructs ActivityScenarioRule for a given activity class.

Parameters
activityClass Class: an activity class to launch

ActivityScenarioRule

public ActivityScenarioRule (Class<A> activityClass, 
                Bundle activityOptions)

Parameters
activityClass Class

activityOptions Bundle: an activity options bundle to be passed along with the intent to start activity.

ActivityScenarioRule

public ActivityScenarioRule (Intent startActivityIntent)

Constructs ActivityScenarioRule with a given intent.

Parameters
startActivityIntent Intent: an intent to start an activity

ActivityScenarioRule

public ActivityScenarioRule (Intent startActivityIntent, 
                Bundle activityOptions)

Parameters
startActivityIntent Intent

activityOptions Bundle: an activity options bundle to be passed along with the intent to start activity.

Public methods

getScenario

public ActivityScenario<A> getScenario ()

Returns ActivityScenario of the given activity class.

Returns
ActivityScenario<A> a non-null ActivityScenario instance

Throws
NullPointerException if you call this method while test is not running

Protected methods

after

protected void after ()

before

protected void before ()

Throws
Throwable