单元测试 - JUnit
- 默认JUnit测试文件在main同级的test目录下。
- JUnit测试成功输出:
BUILD SUCCESS
- 包含多重构建的项目,可以添加如
testPaid
的目录进行针对性测试。 - Gradle命令。
1
2
3
4
5
6
7
8// 运行测试
gradlew test
// 针对某个构建测试
gradlew testDebug
// 在一个构建测试失败之后,继续执行其他构建。
gradlew test —continue
// 指定测试类
gradlew testDebug —tests=“*.LogicTest*
- 测试报告:
/build/reports/tests/debug/index.html
单元测试 - Robolectric
- Robolectric用于依赖于Android SDK的单元测试,但是依然运行于JVM,所以速度相比于Espresso更快。
- 官网: Robolectric
- 测试类注解
1
.class) (RobolectricTestRunner
功能测试 - Espresso
- 官网: Espresso
配置testRunner
1
2
3defaultConfig {
testInstrumentationRunner “android.support.test.runner.AndroidJUnitRunner"
}添加依赖(AndroidStudio默认添加)
1
2
3
4
5
6
7
8dependencies {
// App's dependencies, including test
compile 'com.android.support:support-annotations:22.2.0'
// Testing-only dependencies
androidTestCompile 'com.android.support.test:runner:0.5'
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'
}移除依赖中的冲突。
1
2
3
4
5android {
packagingOptions {
exclude 'LICENSE.txt'
}
}报告路径:
build/outputs/reports/androidTests/connected
测试覆盖率 - Jacoco
- 官网: Jacoco
其他文章