# androidx.test.ext.junit.rules

# androidx.test.ext.junit.rules

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/androidx/test/ext/junit/rules/package-summary "View this page in Java")

## Classes

|---------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [ActivityScenarioRule](https://developer.android.com/reference/kotlin/androidx/test/ext/junit/rules/ActivityScenarioRule)       | ActivityScenarioRule launches a given activity before the test starts and closes after the test.                                                                                                                                                               |
| [AppComponentFactoryRule](https://developer.android.com/reference/kotlin/androidx/test/ext/junit/rules/AppComponentFactoryRule) | JUnit[Rule](https://junit.org/junit4/javadoc/4.12/org/junit/Rule.html)that let you define a[AppComponentFactory](https://developer.android.com/reference/android/app/AppComponentFactory.html)before the tests starts and clean-up the factory after the test. |
| [DeleteFilesRule](https://developer.android.com/reference/kotlin/androidx/test/ext/junit/rules/DeleteFilesRule)                 | Deletes files recursively in Android storage directories after each test.                                                                                                                                                                                      |

## Top-level functions summary

|-----------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `inline `[ActivityScenarioRule](https://developer.android.com/reference/kotlin/androidx/test/ext/junit/rules/ActivityScenarioRule)`<A>` | `<A : `[Activity](https://developer.android.com/reference/android/app/Activity.html)`> `[activityScenarioRule](https://developer.android.com/reference/kotlin/androidx/test/ext/junit/rules/package-summary#activityScenarioRule(android.content.Intent,android.os.Bundle))`(intent: `[Intent](https://developer.android.com/reference/android/content/Intent.html)`?, activityOptions: `[Bundle](https://developer.android.com/reference/android/os/Bundle.html)`?)` Constructs an[ActivityScenarioRule](https://developer.android.com/reference/kotlin/androidx/test/ext/junit/rules/ActivityScenarioRule)of a given class. |

## Top-level functions

### activityScenarioRule

Artifact:[androidx.test.ext:junit-ktx](https://developer.android.com/jetpack/androidx/releases/test-ext)  
[View Source](https://cs.android.com/search?q=file:androidx/test/ext/junit/rules/ActivityScenarioRule.kt+function:activityScenarioRule)  

```
inline fun <A : Activity> activityScenarioRule(
    intent: Intent? = null,
    activityOptions: Bundle? = null
): ActivityScenarioRule<A>
```

Constructs an[ActivityScenarioRule](https://developer.android.com/reference/kotlin/androidx/test/ext/junit/rules/ActivityScenarioRule)of a given class.  

|                                              Parameters                                               |
|-------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------|
| `intent: `[Intent](https://developer.android.com/reference/android/content/Intent.html)`? = null`     | an intent to start activity or null to use the default one                      |
| `activityOptions: `[Bundle](https://developer.android.com/reference/android/os/Bundle.html)`? = null` | an activity options bundle to be passed along with the intent to start activity |

|                                                            Returns                                                             |
|--------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------|
| [ActivityScenarioRule](https://developer.android.com/reference/kotlin/androidx/test/ext/junit/rules/ActivityScenarioRule)`<A>` | ActivityScenarioRule which you can use to access to ActivityScenario from your tests |