Android Tests - Tuong-Nguyen/Android GitHub Wiki
There are 3 types of tests in Android:
-
Local Unit Test: tests does not depend on Android framework API. These tests run fast because it does not require Android device or emulator. Mock can be used for mocking Android classes.
-
Instrumented test: tests which depends on Android system such as Context class, SharedPreference, ...
-
UI tests: tests run the application and interact with the application like user.
Instrumented test:
The tests are put at: module-name*/src/androidTest/java/*
Setup: In your app's top-level build.gradle file, you need to specify these libraries as dependencies:
dependencies {
androidTestCompile 'com.android.support:support-annotations:24.0.0'
androidTestCompile 'com.android.support.test:runner:0.5'
androidTestCompile 'com.android.support.test:rules:0.5'
// Optional -- Hamcrest library
androidTestCompile 'org.hamcrest:hamcrest-library:1.3'
// Optional -- UI testing with Espresso
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'
// Optional -- UI testing with UI Automator
androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.2'
}
android {
productFlavors {
// The actual application flavor
production {
minSdkVersion 15
}
// Test application flavor for uiautomatior tests
integrationTest {
minSdkVersion 18
}
}
defaultConfig {
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
}
Reference: https://developer.android.com/training/testing/unit-testing/instrumented-unit-tests.html