DeviceAnimationTestRule

Additional

Language
Kotlin
Version
0.0.3 (Jun 2, 2020)
Created
Oct 21, 2016
Updated
Jun 2, 2020 (Retired)
Owner
Víctor Albertos (VictorAlbertos)
Contributors
Tobias Preuss (johnjohndoe)
Víctor Albertos (VictorAlbertos)
Kirill Zhukov (kirillzh)
Artem Shumidub (shumidub)
4
Activity
Badge
Generate
Download
Source code

DeviceAnimationTestRule

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 {
    androidTestImplementation 'com.github.VictorAlbertos:DeviceAnimationTestRule:0.0.3'
}

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:

Java:

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

or Kotlin:

 companion object {
    @ClassRule
    @JvmField
    val deviceAnimationTestRule = DeviceAnimationTestRule()
}