DeviceAnimationTestRule

Introduction: A JUnit rule to disable and enable device animations
More: Author   ReportBugs   
Tags:

Running instrumentation tests on Android using Espresso requires disabling animations. DeviceAnimationTestRule is a JUnit rule which disables device animations prior to running any test, and enable them after every test has been executed.

This solution is just a wrapper around the solution proposed by artem-zinnatullin in his blog entry.

SetUp

Add to top level gradle.build file

allprojects {
    repositories {
        maven { url "https://jitpack.io" }
    }
}

Add to app module gradle.build file

dependencies {
    androidTestCompile 'com.github.VictorAlbertos:DeviceAnimationTestRule:0.0.2'
}

Usage

Add to Android manifest the next permission:

<uses-permission android:name="android.permission.SET_ANIMATION_SCALE"/>

Declare DeviceAnimationTestRule as an static field annotated with @ClassRule to your suit:

@ClassRule static public DeviceAnimationTestRule
      deviceAnimationTestRule = new DeviceAnimationTestRule();

Limitation

As it has been documented in this issue, you need to run your tests on devices upon on API 21.

Support Me
Apps
About Me
Google+: Trinea trinea
GitHub: Trinea