Summary: Ctors | Methods | Protected Methods | Inherited Methods | [Expand All]

# UiThreadTestRule

`public class UiThreadTestRule`
`extends Object` `implements TestRule`

java.lang.Object
↳ | android.support.test.rule.UiThreadTestRule

Known Direct Subclasses ActivityTestRule<T extends Activity>
ActivityTestRule<T extends Activity> | This rule provides functional testing of a single activity.

Known Indirect Subclasses IntentsTestRule<T extends Activity>
IntentsTestRule<T extends Activity> | This rule makes it easy to use Espresso-Intents APIs in functional UI tests.

This rule allows the test method annotated with `UiThreadTest` to execute on the application's main thread (or UI thread).

Note, methods annotated with `Before` and `After` will also be executed on the UI thread.

See also:

- `UiThreadTest`

## Summary

### Public constructors
`UiThreadTestRule()`

### Public methods
`Statement` | `apply(Statement base, Description description)`
`void` | `runOnUiThread(Runnable runnable)` Helper for running portions of a test on the UI thread.

### Protected methods
`boolean` | `shouldRunOnUiThread(Description description)`

### Inherited methods
From class `java.lang.Object`
`Object` | `clone()`
`boolean` | `equals(Object arg0)`
`void` | `finalize()`
`final Class<?>` | `getClass()`
`int` | `hashCode()`
`final void` | `notify()`
`final void` | `notifyAll()`
`String` | `toString()`
`final void` | `wait(long arg0, int arg1)`
`final void` | `wait(long arg0)`
`final void` | `wait()`
From interface `org.junit.rules.TestRule`
`abstract Statement` | `apply(Statement arg0, Description arg1)`

## Public constructors

### UiThreadTestRule

    UiThreadTestRule ()

## Public methods

### apply

    Statement apply (Statement base,
                    Description description)

Parameters
`base` | `Statement`
`description` | `Description`

Returns
`Statement` |

### runOnUiThread

    void runOnUiThread (Runnable runnable)

Helper for running portions of a test on the UI thread.

Note, in most cases it is simpler to annotate the test method with `UiThreadTest`, which will run the entire test method including methods annotated with `Before` and `After` on the UI thread.

Use this method if you need to switch in and out of the UI thread to perform your test.

Parameters
`runnable` | `Runnable`: runnable containing test code in the `run()` method

Throws
`Throwable` |

See also:

- `UiThreadTest`

## Protected methods

### shouldRunOnUiThread

    boolean shouldRunOnUiThread (Description description)

Parameters
`description` | `Description`

Returns
`boolean` |

- ## Classes

  - ActivityTestRule
  - DisableOnAndroidDebug
  - ServiceTestRule
  - UiThreadTestRule