编写 build.gradle
文件
dependencies {
// Robolectric
testCompile "org.robolectric:robolectric:3.0"
// AssertJ
testCompile 'com.squareup.assertj:assertj-android:1.1.0'
// PowerMock + Mockito
testCompile 'org.powermock:powermock-module-junit4:1.6.2'
testCompile "org.powermock:powermock-module-junit4-rule:1.6.2"
testCompile 'org.powermock:powermock-api-mockito:1.6.2'
testCompile "org.powermock:powermock-classloading-xstream:1.6.2"
}
编写 build.gradle
文件
android {
packagingOptions {
exclude 'LICENSE.txt'
exclude 'LICENSE'
exclude 'NOTICE'
exclude 'asm-license.txt'
}
defaultConfig {
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
}
dependencies {
androidTestCompile 'com.squareup.assertj:assertj-android:1.1.0'
androidTestCompile 'com.android.support.test:runner:0.3'
androidTestCompile 'com.android.support.test:rules:0.3'
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2'
androidTestCompile 'org.mockito:mockito-core:1.9.5'
androidTestCompile 'com.google.dexmaker:dexmaker:1.2'
androidTestCompile 'com.google.dexmaker:dexmaker-mockito:1.2'
}
Android 测试工具
分类
Android测试按测试范围通常可以分为两种:Logic Test和 UI Test,前者用于测试各种逻辑是否正常执行,很多情况下无需调用Android的api,后者用于测试UI控件的动作响应是否如预期。
按照测试手段也可以分为两种:Local Test 和 Instrument Test,前者指的是使用JVM直接进行本地测试,通常来说效率要高出不少,后者又称为Connected Test,需要连接模拟器或者才能进行测试。Local Test 的测试代码通常放在 src/test
目录,且依赖使用 testCompile
声明,Instrument Test 的测试代码通常放在 src/androidTes
目录,且依赖使用 androidTestCompile
声明。